13

Fantom プログラミング言語を試してみた人はいますか? (しゃれた意図)。

私の第一印象:

  • コードを .NET または Java VM で実行できる機能が気に入っています。
  • 構文は素晴らしく、きれいで、凝ったことは何も試みません。
  • 私は「ライブラリは言語である」という信念を持っており、Fan の開発者はUSP が API であると信じています

しかし、Java と .NET の両方で実行する言語を取得するのは簡単です。実際、この問題には多くの解決策があります。難しいのは、移植可能な API を入手することです。Fan は、Java および .NET API を抽象化する一連の API を提供します。Java や .NET のカウンター パーツに比べてエレガントで使いやすい一連のシステム API を開発する機会が得られるため、これは実際には Fan の主な利点の 1 つだと考えています。

他の考え、第一印象、長所と短所はありますか?

4

5 に答える 5

2

彼らの説明はそれを要約していると思います:

「私たちが Fan を作成した主な理由は、Java VM と .NET CLR の両方でシームレスに実行できるソフトウェアを作成することです。実際には、多くのソフトウェア組織がこれらのプラットフォームのいずれかに取り組んでいます。」

他のすべての非 JVM/.NET 言語よりも見栄えがよくありません。彼らに関する情報がない場合 (彼らのブログは単なるエラー ページです)、彼らが他の人よりも正しいと判断する理由がわかりません。 すべての言語は、最初はその目的のために設計されたもののセットに対してかなりエレガントです (ただし、今見た小さな Fan コードには多少のぎこちなさが見られます)。それはまだわかりません。

ただし、組織に「すべてを VM で実行する必要がある」という規則がある場合は、許容できる妥協点になる可能性があります。

VM の独立性のためだけに、多くのことをあきらめています。たとえば、あなたの質問は SO に関する最初のファンの質問です。Lispより数少ないです。

Fan が最適なソリューションとなるのは、どのような問題ですか? Python と Ruby はすでに両方の VM で (またはどちらも) 実行でき、大きなコミュニティと大きなライブラリがあり、ほぼ同じレベルの抽象化のように見えますが、はるかに成熟しています。

于 2009-04-11T23:25:16.360 に答える
2

Ruby に非常にインスパイアされているように見えます。RESTful であると書かれていますが、正確にはわかりません。booと比較すると、より成熟していますが、多くの点で似ています (ただし、その構文は Python にインスパイアされています)。

ジェネリクスと名前空間を非常に制限するという設計上の決定には疑問があります。

于 2008-09-25T14:08:04.017 に答える
1

数週間前までファンのことを聞いたことがありませんでした。Web サイトによると、それは約 1 歳なので、まだかなり若く、証明されていません。ただし、興味深い点がいくつかあります。まず、この言語は、アクター モデル (erlang に似ています) を提供し、不変オブジェクトをサポートすることによって、同時実行の問題に取り組んでいます。第 2 に、オブジェクトは型推論で Scala の例に従います。型推論により、プログラマーは型宣言を省略できますが、静的型言語の効率を維持しながら、動的型言語のように短くてクリーンなコードの利点を提供するコンパイラーによって計算されます。そして最後に、それは非常に高速な言語のように見えます。Java とほぼ同じ速度であり、JM で 2 番目に高速な言語である scala に迫るか、それを上回っています。パフォーマンスを示すベンチマークは、次の場所にあります。http://www.slideshare.net/michael.galpin/performance-comparisons-of-dynamic-languages-on-the-java-virtual-machine?type=powerpoint .

于 2009-06-13T05:36:16.720 に答える
0

機能的には優れた言語のように見えますが、どれほど役立つかはわかりません。.NET と JVM をターゲットにすることはそれほど有用ではないと思います。Java はすでにクロスプラットフォームであり、.NET も Mono を使用しています。2 つの VM をターゲットにすることで、両方で使用できる API のみを使用する必要があります。Java および .NET で使用できる優れたネイティブ API は使用できません。彼らの API が、Java や .NET ほど完全なものであるとは思えません。

于 2009-04-11T23:32:08.497 に答える
0

これは非常に興味深いです。

Java (または C#) は、実行時にコードを特定のマシン コードにコンパイルする JVM (または CLR) を作成することにより、プラットフォームの依存関係を排除するために作成されました。

さて、仮想マシンに依存しない言語がありますか? うーん....なんてこった?!?!

繰り返しますが、これは非常に興味深いトピックです。それは未来かもしれません...:) 1つの普遍的な単一言語に行く

于 2009-04-11T22:12:25.787 に答える