M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

ニール・フォード『Java.next: Java.next 言語』感想

developerWorks: Java.next: Java.next 言語”は、GroovyにくらべてScalaClojureのコードサンプルがまったく紹介されていないのは何故なのだろうか、納得いかない。・・・というのが正直なところではあるけど、次の指摘はもっともであると思う。

Scala はこれら 2 つのパラダイム〔命令型と関数型〕にまたがっており、両方をサポートしています。Scala関数型プログラミングを優先 (そして推奨) していますが、それでもオブジェクト指向プログラミングと命令型プログラミングをサポートしています。つまり Scala を適切に使用するためには、やみくもに 2 つのパラダイムを混在させることがないように、訓練されたチームが必要です。マルチパラダイム言語には、不適切にパラダイムを混在させる危険が常に付きまといます。

この点、記事の中で直前に指摘されているように、型システムをめぐってGroovyにはScalaの上を行く危険度があり、複合パラダイム言語の持つ独特の危うさについて(執筆者の見解はわからないけど)気づかせてくれる。