IronPythonとBOOの違いは何ですか? 2 つの Python のような言語が必要ですか?
4 に答える
IronPythonは、.NET プラットフォーム上で Python を忠実に実装するように設計されています。バージョン 1 は互換性のために Python 2.4 を対象とし、バージョン 2 はバージョン 2.5 を対象としています (ただし、C で実装されている Python 標準ライブラリ モジュールのほとんどはサポートされていません)。
Booが述べている目標は、「手首に優しい [動的] CLI 言語」になることです。Python から多くのインスピレーションを得ていますが、主な点は次の 4 つです。
- .NET プラットフォームを十分に活用するように特別に設計されています。
- 設計者は、設計上の決定に同意しない Python 構文から逸脱します (最も顕著なのは、明示的な自己の欠如)。
- この言語は、明示的に「手首に優しい」ように設計されています。つまり、Shift キーやその他のマルチキーの組み合わせを使用する必要性を最小限に抑えるためです。
- Boo はデフォルトで静的に型付けされますが、オプションでダック型付けが可能です。
実装/パフォーマンスには他にもいくつかの小さな違いがありますが、上記の異なる設計目標は (IMO) 言語の選択を通知する必要があります。
考慮すべきもう 2 つの点は、成熟度とコミュニティです。Python は Boo よりもはるかに成熟しており、より大きなコミュニティを持っています。IronPython には、Microsoft からの明示的な祝福もあります。
IronPython は Python 実装ですが、Boo は Python 風の構文を持つ別の言語です。主な違いの 1 つは、デフォルトで Boo が静的に型付けされることです。
他にも違いがあると思います。Boo については簡単にしか見ていませんが、もう少し深く見てみようと思っていました (言語が多すぎて時間はあまりありません!)。
これは、違いを非常にうまくまとめた、Python プログラマー向けの Boo の落とし穴のリストです。
アイアンパイソンはパイソンです。Boo は Python のように見えます。
それらには異なる目標があり、IronPython は Python のようになることを目指していますが、Boo はそうではありません。Boo は、IronPython のように Python との互換性について心配していません...
一言で言えば、Boo の名声は、Python のエレガントで簡潔な構文と非常に高レベルの抽象化の利点のほとんどを提供することになっているということですが、C# のような静的に型付けされた言語の速度の利点を (ほとんど) 犠牲にすることはありません。 .