.net推奨のための優れた動的プログラミング言語[終了]
-
05-07-2019 - |
質問
まあ、長い間C#で.netプログラムを書いた後、静的に型付けされた言語に伴うすべての構文上のゴミについて怒ってイライラし始めました。次に、CLIを利用する動的に型付けされた言語に変更します。 だから私は少し探してみたが、見たものが気に入らなかった。私は最初にIronPythonを探しました。しかし、プロジェクトは混乱しているように感じられ、見た目がまったく良くありませんでした。それからブーについて聞いた。私はブーイング、理想、すべてが好きでしたが、プロジェクトが停止しているように感じます。その後、IronRubyのことを聞きましたが、プロジェクトはまだベータ版であるため、より成熟するまで待つことにしました。
だから私は良いCLR互換の動的言語を見つけることができなかったので、何を使用しますか?
IronPythonを選択しない理由は何であるかを人々が尋ね始めたため。理由は、前に述べたように、それは混乱しているようです。なぜですか?
1-ホームページはcodeplexの別のページを指しています。ホームページはきれいで、IronPythonの利点を示しているだけです。IronRubyページを例として http://www.ironruby.net/ を使用すると、言語で開発されたものをユーザーから隠すことができます(使用する前にIronRubyのsvnにアクセスする必要があります)。 IPythonは、作成時にaddresをどのような問題にしようとしていましたか。そのような情報を含むページはありますか? ページはそこにありますが、記事への無意味なリンクの束の中で「詳細情報ページ」に隠されています。 Booのページには、マニフェストという名前の明確な一覧 http://boo.codehaus.org/BooManifesto.pdf 。
他にもありますが、私が感じるのは、IPythonが実際に持つことができる品質にもかかわらず、自家製のインタープリターにすぎないということです。 BooをダウンロードしてIronPythonを使用する方が安全だと感じました(ただし、MicrosoftがIPythonをダウンロードしたことも心配ありません)。
Duck-TypingとBooの静的型付けについては、どちらもうまくいくようです。
解決
Boo を引き続き使用します。ブーが停止したと信じている理由がわかりません。開発が遅いように見える場合がありますが、 最近修正された問題のリスト(バグ) 。
>Booに不慣れな人にとっては、Pythonに非常に似ていますが、Pythonにはないものが含まれます( 文字列補間 および シンタティックマクロ )。 Booプログラムをコンパイルするか、「Boo Interactive Shell」を介してBooを使用できます。 booish 。
ところで、私は数年前に見たときもIronPythonが好きではありませんでした。私には、CLIへのPythonのまっすぐなポートのように見えましたが、私が知る限り、典型的な.NET開発に必要な新機能は含まれていませんでした。
編集:IronPythonは、私が最初に見たときから進歩したようです(Curtがこれを指摘してくれたことに感謝します)。ただし、Booを見つけて以来、IronPythonを再度見ることに悩んでいません。
他のヒント
実用的な使いやすさの点では、 IronPython が最善です今すぐ賭けます。
なぜ人々がブーを提案しているのですか?これは静的に型付けされた言語であり、この質問が求めているものではありません。はい、オプションのカモタイピングがありますが、質問作成者がBoo関連の情報を受け入れられる場合は、質問を実際に編集して明確にする必要があります。
IronPythonについては、あなたはそれが気に入らないと言いましたが、非常に曖昧な批判的なコメントに対して私が答えることができるわけではありません:)
あるいは、 cPython をご覧になることをお勧めします。いくつかのポイント:
- .exeファイルは、py2exeおよびその他のツールで構築できます。
- サードパーティのPythonライブラリおよびフレームワークへのアクセスが大幅に増加
- pywin32を介したWindows APIへのアクセス
- Cで記述されたPython拡張機能は使用できます(IronPythonとは異なり、この状況を改善するための努力が進行中です。 )
ほとんどの場合、.NETは本当に必要ないことがわかります。もちろん、これはすべてアプリケーションに依存します。既存の.NETコードと統合するには、明らかにIronPythonを使用する必要があります。
「動的」が欲しいと言いますが、動機が「すべての構文上のゴミ」を避けることだけである場合は、 F#。静的に型付けされていますが、動的言語のシンタックス感覚と対話モード(REPLループ)を備えています。
IronPythonは混乱しているように見えるというあなたの感情に同意しますが、私はこれを(小さな)プロジェクトに使用しており、これまでのところかなり満足しています。
まだご覧になっていない場合は、 IronPython Studio をご覧ください。
>同じような道を歩んできました。 Boo、dotLISP、IronPythonなどをチェックアウトしました。
IronPythonをお勧めします。ただし、Pythonの経験がまだない場合は、CPythonを読み込んでサンプル&に使用することで、おそらくコアPythonをより早く学習できます。チュートリアル。
CPythonを理解すると、IronPythonの理解がはるかに容易になります。もちろん、C#を理解し、.Net SDKドキュメントにアクセスする必要があります。それなしでは、IronPythonは有用なことを成し遂げることが非常に困難です。
...静的に型付けされた言語に付属する構文上のゴミ...
懸念が構文上のゴミである場合は、静的に型付けされた言語、特に F#。