9

長い間 C# で .net プログラムを書いていたので、静的に型付けされた言語に付随する構文の無駄遣いに怒りと不満を感じ始めました。ここで、CLI を利用する動的型付け言語に変更したいと考えています。だから私は少し周りを探しましたが、私が見たものは好きではありませんでした. 最初に IronPython を探しました。しかし、プロジェクトはまとまりがなく、見栄えがよくありませんでした。それからブーについて聞いた。boo'sも理想も全部好きだったけど、プロジェクトが止まったような気がする。その後、IronRuby のことを聞きましたが、プロジェクトはまだベータ版なので、成熟するまで待つことにしました。

CLR と互換性のある適切な動的言語が見つからなかったので、何を使用しますか?

人々が IronPython を選択しない理由を尋ね始めて以来。その理由は、先ほど述べたように、まとまりがないように見えるからです。なんで?

1- ホームページはcodeplex の別のページを指しています。ホームページはきれいで、IronPython の利点だけを示している必要がありますユーザー (ユーザーは IronRuby の svn を使用する前にアクセスする必要がありますが)。IPython が作成時にどのような問題に対処しようとしていたか。そういう情報が載っているページはありますか?ページはそこにありますが、記事への意味のないリンクがたくさんある「詳細情報ページ」に隠されています。Boo のページでは、Manifesto http://boo.codehaus.org/BooManifesto.pdfという名前の明確なサイトがあります。

もっとありますが、IPython は、実際に持つことができる品質にもかかわらず、単なる自作のインタープリターであると私は感じています。Boo をダウンロードして IronPython を使用する方が安全だと感じました (しかし、マイクロソフトは IPython もダウンロードしていたので心配ありません)。

Duck-Typing と Boo の静的型付けについては、どちらもうまく機能しているようです。

4

8 に答える 8

7

私はまだBooを使用します。ブーが止められたとあなたが信じる理由がわかりません。開発が遅いように見えることもありますが、最近修正された問題 (バグ) のリストで示されているように、現在複数の人がバグ修正に取り組んでいます。

Boo に慣れていない方のために説明すると、Boo は Python に非常に似ていますが、Python にはない機能 (文字列補間構文マクロなど) が含まれています。Boo プログラムをコンパイルしたり、「Boo Interactive Shell」booishを介して Boo を使用したりできます。

ちなみに、数年前に見たときも、IronPython は好きではありませんでした。私には、Python を CLI に直接移植したように見えましたが、私が知る限り、典型的な .NET 開発に必要な新機能は含まれていませんでした。

EDIT:IronPythonは、私が最初に見たときから進歩しているようです(Curtがこれを指摘してくれてありがとう)。しかし、Boo を見つけて以来、IronPython を再び見る気にはなりませんでした。

于 2008-10-05T23:13:30.730 に答える
7

実用的な使いやすさという点では、IronPythonが現時点で最善の策です。

人々がBooを提案するのはなぜですか? これは静的に型付けされた言語であり、この質問が求めているものではありません。はい、オプションのダックタイピングがあることは知っていますが、実際にBoo関連の情報が質問の作成者に受け入れられる場合は、それを明確にするために質問を編集する必要があります.

IronPython に関しては、あなたは気に入らないとおっしゃいましたが、非常に漠然とした批判的なコメントに私が与えることができる応答は実際にはありません :)

または、 cPythonをご覧になることをお勧めします。いくつかのポイント:

  • py2exe やその他のツールを使用して .exe ファイルを作成できます。
  • サードパーティの Python ライブラリとフレームワークへのより大きなアクセス
  • pywin32 を介した Windows API へのアクセス
  • C で書かれた Python 拡張機能は使用可能です (IronPython とは異なり、この状況を改善するための取り組みが進行中です)

ほとんどの場合、.NET は本当に必要ないことがわかります。もちろん、これはすべてアプリケーションに依存します。既存の .NET コードと統合するには、明らかに IronPython を使用する必要があります。

于 2008-10-05T23:17:17.413 に答える
5

あなたは「動的」が欲しいと言いますが、動機が「すべての構文上のゴミ」を避けることだけである場合は、F#を見てください。静的に型付けされていますが、動的言語の軽い構文感とインタラクティブ モード (REPL ループ) を備えています。

于 2008-10-06T00:07:57.607 に答える
1

ファンの言葉もご覧ください。純粋な動的ではなく、静的と動的の両方が混在しています。そして、ほとんどの新しい言語と同様に、関数型が混在する純粋な OO です。また、JVM と CLR プラットフォームの両方で実行されます。

構文に関しては、多くのシュガー構文を使用して C# に近いため、C# が Ruby/Python と融合しているように見えます。

この言語はまだ 3 年しか経っていないため、そのパフォーマンスはまだ優れたものではありません。

2014 年 2 月 21 日更新: Fan はその名前をFantomに変更しました

于 2008-10-06T03:51:15.690 に答える
1

IronPython がまとまりがないように見えるというあなたの意見には同意しますが、私はそれを (小さな) プロジェクトに使用しており、これまでのところかなり満足しています。

まだ見たことがない場合は、IronPython Studioをチェックしてください。

于 2008-10-05T22:56:31.230 に答える
1

私も似たような道をたどってきました。Boo、dotLISP、IronPython などを調べました。

IronPython をお勧めします。ただし、まだ Python の経験がない場合は、CPython を読み込んでサンプルとチュートリアルに使用することで、コア Python をより早く学習できるでしょう。

CPython を理解すれば、IronPython を理解するのはずっと簡単になります。もちろん、いくつかの C# を理解し、.Net SDK ドキュメントにアクセスできる必要があります。それがなければ、IronPython で有用なことを行うのは非常に困難です。

于 2008-10-13T22:28:51.723 に答える
0

...静的に型付けされた言語に付属する構文のゴミ...

あなたの懸念が構文のゴミである場合は、型推論を使用して静的に型付けされた言語、特にF#をチェックすることもできます。

于 2011-02-08T15:37:00.977 に答える
0

Clojureを見てください。CLR バージョンはまだ初期段階ですが、IKVM を介して .Net で動作する Java バージョンを取得できる可能性があります

于 2009-12-15T18:00:28.427 に答える