16

私たちの会社では、すべてを C# ではなく Python に移行する準備ができています。私たちはコンサルティング会社であり、通常は C# で小さなプロジェクトを作成します。大規模なプロジェクトは行いません。私たちの仕事は、複雑なソフトウェア構造ではなく、複雑な数学的モデルに基づいています。したがって、IronPython は Windows で標準の GUI 機能を提供し、すべての .Net ライブラリにアクセスできるため、私たちにとって優れたプラットフォームであると考えています。

Ironpython スタジオが完成していないことは知っています。実際、参照を追加するのに苦労しましたが、Python コードはクライアントにとって読みやすく、私たちは通常、完全に機能するコードではなく、概念実証のプロトタイプを提供します。クライアントは通常、先に進んでアプリケーションを自分で実装します

4

3 に答える 3

18

私の会社であるResolverSystemsは、IronPythonで記述されたおそらく最大のアプリケーションを開発しています。(これはResolver Oneと呼ばれ、Pythonicスプレッドシートです)。また、Ironcladプロジェクト(IronPythonでCPython拡張機能を実行するため)をホストしており、順調に進んでいます(Resolver Oneとnumpyのベータ版を間もなくリリースする予定です)。

IronPythonを選択した理由は.NET統合でした。クライアントはWindowsでの100%統合を望んでおり、現時点でそれを行う最も簡単な方法は.NETです。

Visual StudioでGUIを(動作なしで)設計し、DLLにコンパイルし、IronPythonからサブクラス化して動作を追加します。

IronPythonは、ある場合には高速で、他の場合には遅いことがわかりました。ただし、IronPythonチームは非常に敏感であり、リグレッションを報告するたびに修正し、通常はバグ修正リリースにバックポートします。パフォーマンスが心配な場合は、いつでもC#で重要な部分を実装できます(まだ実装する必要はありません)。

C#の経験がある場合、IronPythonは自然であり、特にプロトタイプの場合はC#よりも簡単です。

IronPython studioに関しては、使用していません。私たち一人一人が選択したエディター(TextPad、Emacs、Vim&Wing)を持っており、すべてが正常に機能します。

于 2009-01-23T09:29:31.183 に答える
9

C#からPythonに切り替えたい理由はたくさんありますが、最近自分で切り替えました。多くの調査を行った後、CPythonに固執する理由は次のとおりです。

  • パフォーマンス:ironpythonが遅い場合が常にあると述べている記事がいくつかあります。したがって、パフォーマンスが問題になる場合
  • オリジナルを取り上げます。多くの人が、新しい機能などは常に最初にCPythonに統合されており、ironpythonに実装されるまで待つ必要があると主張しています。
  • ライセンス:これは時限爆弾だと主張する人もいます:ironpython/monoのライセンスが近い将来どのように変わるかは誰にもわかりません
  • 拡張機能:Pythonの強みの1つは、数学の問題で述べたように、CPythonですべて使用できる数千の拡張機能です。numpyは、IronPythonでは期待どおりに実行されない可能性のある適切な高速パッケージである可能性があります(Ironclad
  • 特にWindowsでは、wxPythonを備えたネイティブGUIツールキットがあります。これは他のいくつかのプラットフォームでも見栄えがよく、pyQTや他の多くのツールキットがあります。彼らはwxGladeのような素晴らしいデザイナーを持っていますが、ここではVisualStudio C#デザイナーの方が使いやすいです。
  • プラットフォームの独立性(これが問題である場合):CPythonは実際に多くのプラットフォームに移植されていますが、ironpythonは主要なプラットフォームでのみ使用できます(最近、開発者は、AIXでmonoを実行できなかったことを悲しんでいました)

Ironpythonは素晴らしい作品であり、使用しなければならない特別な.NETライブラリがある場合は、IronPythonを選択することもできますが、一般的な目的の問題については、Guidoが考えを変えない限り、元のCPythonを使用することをお勧めします。

于 2009-01-23T09:06:35.253 に答える
7

あなたが物事を説明する方法は、あなたの会社がPythonのために簡単にPythonに切り替えているようです。Python を使用したい特定の理由はありますか? より動的な言語が必要ですか? 関数型プログラミングは役に立ちますか? C# で完全に機能するツールのセットを持っているのに、わざわざ切り替える必要があるでしょうか。

切り替えることに設定されている場合は、特に .NET ライブラリに結び付けられていない限り、標準の Python から始めることを検討することをお勧めします。wxPython、pyQt などのさまざまなフレームワークを使用して、クロス プラットフォームの GUI を作成できます。そうは言っても、Visual Studio には、Python ウィンドウ レイアウトを作成するためのあらゆるツールよりもはるかに優れた GUI デザイナーがあります。

于 2009-01-23T02:59:23.593 に答える