19

私は今Scalaを勉強していて、先月勉強しています。今日(ツイッター経由で)私は非常に似ていると思われる別の言語、ゴスに出くわしました。

最も影響力のある親であるJavaに関して、ScalaとGosuの本質的な類似点と相違点は何ですか?これら2つの言語を比較対照するWebサイトはありますか?

4

4 に答える 4

27

ええ、私たちの言語比較チャートは主に冗談です。特に「NotLisp」行。:)

Stephen Cが私の元の投稿から指摘したように、一般的に、GosuはScalaよりも単純ですが、ScalaはGosuよりも高度な機能を備えています。

ScalaとGosuには多くの類似点があります。

  • どちらも静的に型付けされていますが、型推論を使用してコードの膨張を減らします

  • 両方ともクロージャとより機能的なスタイルのプログラミングをサポートします

  • どちらも、特にコレクションの周りで、既存のJavaライブラリに加えて追加機能を提供します。

そして、ここにいくつかの違いがあります:

  • Gosuは一般的な演算子のオーバーロードをサポートしていません

  • Gosuはモナドの構文サポートを提供していません

  • Gosuのジェネリックスは、Javaよりも単純です(正確さを犠牲にして)、Scalaではより複雑です(ただし、Scalaは正確さではるかに優れた仕事をします)。

  • Gosuは、クロージャでのScalaの暗黙の「_」引数のようなものをサポートしていません。このような場合はより明示的です。

  • コアJavaライブラリに対するGosuの拡張はそれほど劇的ではありません。新しい型階層を導入するのではなく、既存のJava型に追加のメソッドを追加します。

GosuとScalaの機能面での大きな違いは、Gosuにはオープンタイプシステムと呼ばれるものがあります。これにより、Gosuコンパイラに任意のリソースをプラグインできます。例として:Gosu(0.8.5現在)は、第一級市民としてXSDおよびWSDLファイルをサポートしています。

http://lazygosu.org/xml.html

Open Type Systemは、機能面では、Gosuと他の静的に型付けされたJVM言語との真の差別化要因です。

そうは言っても、現在の不幸な現実は、Scalaが一部の領域、特にツールでGosuよりもはるかに成熟しているということです。すべての主要なIDEでScalaの優れたIDEサポートがあります。Gosu用のEclipseプラグインがありますが、まだ初期段階です。同様に、IntelliJプラグインは非常に新しいものです。

Scalaには、非常に完全なWebフレームワークであるLiftがあります。私は彼らのアプローチの大ファンではありませんが、それは完全であり、多くの人々がそれを気に入っています。

GosuにはWebフレームワークもあります。

http://ronin-web.org

私はローニンのアプローチが大好きですが、そうすると思いませんか?Roninは、Gosuをよく知っている人によって構築されているため、言語の多くの機能を活用しています。

お役に立てば幸いです。現実的には、今日プロジェクトを開始する場合、ツールのサポートのために、おそらくScalaを使用するでしょう。ただし、別の方向に攻撃したい場合、特にプロジェクトにWebサービスまたはXSD処理が含まれている場合は、Gosuを使用するとやりがいのある言語になる可能性があります。長期的には、GosuがJVM開発者にとって実用的な選択肢になることを願っていますが、時間だけがわかります。

于 2011-02-12T04:36:52.757 に答える
16

Gosuの比較表はScalaにとってやや不公平です:Javaからの移行簡単で(最初にScalaの凝ったものをすべて使用する必要はありません、洗練されたジェネリックスの場合、Scalaは完璧ではありませんが、マニフェスト。もちろん、Scalaが輝いているカテゴリーはありません(パターンマッチング、より高い種類のタイプ...)

于 2011-02-12T10:24:36.877 に答える
2

gosu-langリストのこのスレッドでは、CarsonGrossが次のように要約しています。

簡単に言うと、GosuはScalaよりも単純ですが(ジェネリックが単純で、演算子のオーバーロードが制限されています)、Groovyよりも静的に型付けされています。

この表もありますが、これは「当社の製品はお客様の製品よりも優れている」という比較の1つです。つまり、本質的に偏っています。

于 2011-02-12T01:23:02.317 に答える
0

私の知る限り、GosuはGuidewireによって、製品固有の開発と製品構成のために開発されています。したがって、すべてのGuidewireユーザー/開発者はプログラミングにGosuを使用します。これが、Gosuスクリプトに関連する投稿があまり見られない主な理由です。

于 2019-10-25T00:08:21.730 に答える