5

簡潔で動的な言語を使用して JVM 用のアプリを開発したいと考えています。このための最も一般的な選択肢は、Jython、JRuby、Groovy、そしておそらく Clojure のようです。

Rhino は高速で非常に安定しているように見えますが、Rhino の開発に関する本は見当たりませんし、議論もほとんどありません。埋め込みスクリプト以外で JavaScript がほとんど使用されていないのはなぜですか?

編集:この質問は、Rhino ベースの開発の実行可能性について有益であることがわかりました。

4

2 に答える 2

5

Java で記述され、JVM 上で実行されるプロダクション グレードの VoiceXML インタープリターの一部として、Rhino を使用しました。この目的のために非常にうまく機能します。このインタープリターをゼロから再実装していたとしたら、JavaScript でさらに多くの開発を行うことに傾倒していたでしょう。したがって、それは間違いなくオプションです。アプリケーション領域に対して周囲のライブラリがどの程度成熟しているかを調査する必要があります (JavaScript から Java ライブラリを呼び出すロジックをいつでも作成できますが、それは面倒な作業になる可能性があります)。

しかし、@Peter Recoreにも同意します。他のJVM言語をもう一度見てください。私はオブジェクト関数型の Scala 言語に感銘を受けました。そのパフォーマンスは Java とほぼ同じくらい優れており、多くの表現力があります。

更新: JavaScript について読むのに適した書籍は、JavaScript: The Definitive GuideおよびJavaScript: The Good Partsです。必要な Rhino 固有のものはここだけです。

于 2010-07-16T17:59:40.303 に答える
3

私は Rhino を使用したことがないので、技術的な理由を説明することはできませんが、一般的なプログラマーとして、一般的な心理学の理論を提供できます。

少なくとも人々の頭の中では、javascript はその生涯のほとんどの間、厳密にクライアント側の言語でした。さらに悪いことに、JavaScript を使用した Web ページには常に問題があったため、これはくだらないもののように思えました。これらの問題は、必ずしも言語のせいではなく、ブラウザーがどのように実装したか、どのように DOM を構成したか、そして JavaScript を介してアクセスできたものでした。しかし、頭の中で「javascript には問題がある」、あるいは単に「javascript はできることが限られている」と考えるようになりました。

そのため、高レベルの魔法ができる人もいますが、私たちの多くは、マウスのロールオーバーで画像を変更することしかできなかった Web の初期の記憶から、javascript をおもちゃの言語と考えています。

最後に、ある言語が人気になるには (特に巨大な企業スポンサーがいない場合)、既存の言語よりも目に見えるメリットが必要です。すでに多くのサーバー側言語、フレームワーク、ランタイムが人々の注目を集めています。すでに使用しているテクノロジ X への投資を捨てるべきほど、javascript の何が特別なのでしょうか? (これは js の掘り下げではなく、単なる考察の対象です)

于 2010-07-16T17:36:44.383 に答える