これら 2 つのプロジェクトのそれぞれを見た後、どちらも非常に似ているように見えます。どちらも CLI 上で実行され、どちらも Python スタイルの構文を持ち、標準の Python ライブラリの代わりに .NET を使用します。
では、それらの違いとそれぞれの利点は何ですか?
これら 2 つのプロジェクトのそれぞれを見た後、どちらも非常に似ているように見えます。どちらも CLI 上で実行され、どちらも Python スタイルの構文を持ち、標準の Python ライブラリの代わりに .NET を使用します。
では、それらの違いとそれぞれの利点は何ですか?
私が見た主な違いは、Boo は静的に型付けされていることです。つまり、変数の型は最初の代入で推測され、そこから修正されますが、IronPython は通常の Python コードの「実際の」動的動作を備えています。
IronPythonは現在 Microsoft によって公式に維持されており、バージョン 2.0 の新しい動的言語ランタイムを対象としています。静的に型付けされているため、Boo の方が高速である可能性があります。私はそれについての「実際の」経験はあまりありません...
また、IronPython は多くの python 標準ライブラリを再実装しているため、多くの python ソフトウェアを変更せずに IronPython ( Djangoなど)で実行できます。
Boo は静的に型付けされますが、オプションのダック型付けがあります (私の経験では、これはかなりうまく機能します)。また、Boo は「手首にやさしい」ように特別に設計されています。つまり、Shift キーの組み合わせを使用する必要性を最小限に抑えます。SharpDevelopで優れた IDE をサポートしています。
明らかなように、Boo は Python から多くのインスピレーションを得ていますが、.NET の機能を十分に活用するようにも設計されています。
パフォーマンスに関しては、Boo は IronPython よりわずかに高速に感じられ、特に IronPython の顕著な起動遅延がありません。
Boo はまだ未熟な言語であり、Python のコミュニティが不足しています。個人的には、本番環境での使用には少し注意が必要です。また、クラス内の明示的な自己を取り除くなど、Python からのすべての逸脱に同意するわけではありません。
私はまだIronPythonを使用していませんが、Booについて知っていることは次のとおりです...
私はBooを次のような目的で使用しました:
Winston が言ったように、Boo はそのオープン コンパイラ アーキテクチャにより非常に拡張可能です。これらの例を見てください。
Boo と IronPython の両方でアプリケーションを作成しました。私にとって、IronPython はより堅牢な選択肢であり、私が CPython ポートで書いたものの大部分は変更なしでした。.Net Framework を対象とする場合、最近のすべてのプロジェクトは純粋な IronPython です。
Jim が Microsoft に「亡命」して以来、IronPython は最上位の言語に昇格しました。そのための Visual Studio もあります。
ここでVolkAに同意します。Django を実行できることは大きなメリットです。これは非常に素晴らしいフレームワークなので、Boo はやり直すのに苦労するでしょう。今日では、言語が提供する構造よりも、言語が提供するフレームワークの問題になっています。また、Boo は、サポートする構造において Python よりも多くの改善を提供していません。
私の意見では、主な違いは、IronPythonは成熟した言語の実装であるのに対し、Booは若くてあまり知られていないということです。