ScalaはJavaの負の部分を負っているか?
ちょうど原書を読んでいるところへ、レビューエントリが。
404 Blog Not Found:理想の言語? - 書評 - Scalaスケーラブルプログラミング
そんなわけで、現存の言語では最も美人な Scala なのだが、Scala の最大の特長である「Java上で動く」というのは、最大の欠点でもある。「Javaの膨大な資産にアクセスできる」というのは「Javaにアクセスでき ない資産にはアクセスしがたい」ということであり、そしてそういった資産は実は少なくない。最もそれを強く感じるのは、Scalaをスクリプトとして使っ たときだろう。
たとえば、上の Hello, World! のサンプルは、今時のパソコンでも実行に一秒を要する。Java VMを立ち上げ、Scala環境を初期化するのにそれだけかかるのだ。Perl 6 (rakudo)より重い><。コンパイルした場合でも、0.27秒。
Scalaの(起動時間を含めた)実行時間は遅いとの指摘がなされている。
ただ、以下のエントリのような指摘もある。
"現在、JVM上で動作するものは、将来のエンタープライズ・アプリケーション・アーキテクチャに組み込まれる候補となっている。"
Five Reasons Why You Should Learn a New Language Now | Javalobby
Anything that runs on the JVM is now a candidate for being integrated into your enterprise application architecture tomorrow.
このエントリにあるように、JRuby、Groovy、Clojureなどとともに、ScalaがJVM上で動作するメリットは将来的に、その起動時間などのオーバヘッドを十分に補うようになるのではないだろうか。
2009/08/23: コメントを受け、エントリの表現を修正