ScalaとRubyは似ているかもしれない

僕は仕事では主にJavaScalaを書いていますが、Perlをがっつり使っていた時期もありますし、趣味でもいろんな言語を触ってきました。RubyRailsが登場する遙か前にCGIを書くのに使っていたことがあります(そういえばtDiaryは当時から存在しました)。

JavaRubyというと静的な言語と動的な言語の代表格として扱われ、論争の対象になったりすることもあったりするわけですが、ScalaRubyに関しては言語の性質は全く異なりますが、意外と似ている部分もあるのではないかと感じています。

ScalaRubyも既存のプログラミング言語のよい部分は積極的に取り入れていますが、主義思想に偏りすぎることなくプログラマにとって使いやすいように再構築されています。

たとえばScala関数型言語の特徴を取り入れた静的な型付けのオブジェクト指向言語ですが、プログラムの記述自体はスクリプト言語のようにシンプルですし、必要に応じて手続的な書き方もできるという、ある意味妥協をしているわけですが、このバランスがScalaの使いやすさに繫がっています。

Rubyも同様で、自他共に言語オタクと認めるMatz氏ですが、エゴに走りすぎることなく様々な言語の良い部分が使いやすい形で取り入れられていると思うのです。どちらの言語も特徴的な思想や機能ではなく、言語設計者のバランス感覚が使いやすさに繫がっているのではないでしょうか。

このように言語の特徴は異なるにも関わらず、ScalaRubyには通じるものがあると感じるのは僕だけでしょうか?

とりあえず動的 VS 静的という構図で争い合うのは不毛なので皆さんもう少し仲良くされてもよいのではないかと思いますが、個人的には型はないよりあったほうがお得な感じがしますし、動的よりも静的なほうが(ry