「Scala嫌い。EJB2みたい」
http://blog.joda.org/2011/11/scala-feels-like-ejb-2-and-other.html
以下、Stephen Colebourne氏の意見をまとめてみた。
モジュールシステムがない
- 複数のクラスを含むレベルでバージョンと依存関係を管理するものでなきゃ駄目。
- 「Jar Hell」を招く
- CORBAなどはこの問題を解決しようとした結果(の失敗作)
(このようなモジュールシステムを持っている言語は例にあげていない)
並列処理 (Concurrency)
- 関数型言語だから安全にマルチスレッドのコードが書けるとい言うけどこれは嘘
- 並列処理の問題は「shared mutable state」にあるがスカラはこの点において鈍感
(clojureは可変状態を別扱いにすることによって並列処理を安全にしているという点で違うようだ)
コミュニティー
タイプシステム
実装の質
- ScalaコミッターのPaul Phillipsによると、複雑な言語機能が多く交わる部分がある
- これにより膨大なテストスイートが必要になるがこれが欠けている
EJB2のよう
結論
スカラ好きじゃない。さらに嫌いになっていく。これからは仕事でこの言語のコードを書きたくない。
以上、元ブログ著者Colebourne氏のScalaに対する意見。俺はScala体験ゼロなんで自分の意見はもっていない。ただ、尊敬する同僚がScala好きなんで一目おいてはいる。今度「Scala好き」というポストが目についたらそいう意見も紹介したい。
反応
なんとなく紹介した記事だったけど、かなりの反響だった。言語の優劣を論ずるポストはどうも熱くなる傾向がある。
kmizushimaさんから情報たくさんのコメントを頂きました。Scalaに関心のある方は御読みください。