2009-03-01 15 views
16

IronPythonBOOの違いは何ですか? Pythonのような2つの言語が必要ですか?BOOとIronPython

+5

IronPythonはPython * *のような*言語ではありません。 Python言語ですが、再実装されています。 –

+1

Booはバージョン5までのUnity 3Dの公式にサポートされている言語でしたが、現在は廃止予定ですが、バージョン5でもそのまま使用できます(時間がたっても時間が掛かります)IronPythonは決してなかったでしょうさあ。それが私が1つ(Boo)を使用し、他のものを使用しない理由です。 – ArtOfWarfare

答えて

18

IronPythonは、.NETプラットフォーム上でPythonを忠実に実装するように設計されています。バージョン1は互換性のためPython 2.4を対象とし、バージョン2はバージョン2.5をターゲットにしています(Cで実装されたPython標準ライブラリモジュールのほとんどはサポートされていません)。

Booの目的は、CLIの「手首にやさしい[動的]言語」です。これは、Pythonから多くのインスピレーションがかかりますが、4つの主要なポイントに発散する:

  • デザイナーは、彼が一致しないPythonの構文から分岐.NETプラットフォームの優れた利点を活用するように特別に設計されています

    1. デザインの決定(特に明白な自己の欠如)
    2. この言語は明示的に "手首に優しい"ように設計されています。つまり、Shiftキーや他の複数のキーの組み合わせを使用する必要性を最小限に抑えるためです。
    3. Booはデフォルトで静的に型付けされていますが、オプションのダックタイピングが可能です。

    は、実装/パフォーマンスの他のいくつかのマイナーな違いがありますが、発散設計目標は、上記の(IMO)の言語の選択を通知する必要があります。

    成熟度とコミュニティがさらに2つ考慮されます。 PythonはBooよりはるかに成熟しており、はるかに大きなコミュニティを持っています。 IronPythonには、Microsoftの明白な祝福もあります。

  • 11

    IronPythonはpythonの実装です.BooはPython風の構文を持つ別の言語です。主な違いの1つは、Booがデフォルトで静的に型指定されていることです。

    私は多少の違いがあると確信していますが、私はBooを簡単に見てきましたが、私は少し深く見ています。ここで

    は非常にうまく違いをまとめPythonプログラマのためのブーの落とし穴のリストです:

    3

    IronPythonのは、Pythonです。 BooはPythonのようです。

    IronPythonはPythonと同じように目指していますが、Booはそうではありません。 BooはIronPythonのようなPythonとの互換性について心配していません...

    1

    Booの主張は、Pythonのエレガントで簡潔な構文と非常に高いレベルの抽象化の利点のほとんどを静的に(ほとんどの)スピードの利点を犠牲にすることなくC#のような型付き言語。