「80%の領域をカバーする言語」について思ふこと

あらゆることに使える完璧な言語(the one true language)が存在しないことは明らかである。

たとえば、Rubyがどんなにすばらしい言語でも、Ruby自身はRubyでは記述されていない。 また、OSなどRubyで記述するには向かない分野はいくらでもある。 そもそもRubyが向かないプログラマーもいるようだが、その点には今回は触れない。

しかし、100%を考えるから、完璧な言語は存在しないわけだが、 仮に80:20則にしたがって「80%の領域をカバーする言語」について 考えると、そのような言語はどのような性質を持つのが望ましいだろうか。

「80%の領域をカバーする言語」として一番近いのはやはり現在のところ Java だと思う。
「the 0.8 true languageはなんらかの形で内部DSLを支援するべきだと思う」という Matz さんの定義にはまらないけど、その役目にもってこいの Groovy とはとても親和性が高い。因みに特定目的言語(DSL)の JavaFX とも馴染みやすい。

ところで最後の方で述べられているけど Ruby の並列処理は(いつ?)改善されるのだろうか。ロードマップとか全然見てないけれど。


そう言えば最近こんなの読んだ。
http://dl.getdropbox.com/u/132573/groovy_scala/index.html
Scala と Groovy は比較されることが多いけど、比べてもそんなのあまり意味が無い。両者が向いている領域はそれぞれ異なっている。この話は両者を混在して使うことについても言及している。


と、ネタ切れの苦し紛れの感もやや。。。