3

私は現在、TobySegaranによる「ProgrammingCollectiveIntelligence」という素晴らしい本を読んでいます(これは私が強くお勧めします)

コード例はすべてPythonで記述されており、今年はすでに1つの新しい言語を学習しているため(VB.netからC#に移行)、別の学習曲線に飛びつくことには熱心ではありません。

これにより、Pythonの例をC#に変換するという問題が残ります。

質問は:コードがPythonのままであることがどれほど重要ですか?Pythonには、通常の静的に管理された静的型付け言語では実行できないことがありますか?

4

6 に答える 6

20

課題の1つは、アルゴリズムがPythonで実装されているだけでなく、BeautifulSoup、Numpy、PILなどのPythonライブラリを広範囲に使用していることです(付録Aを参照)。

他の言語に移植できなかったアルゴリズムの詳細があるとは思えませんが、演習を進めるのに問題があります。また、コードを翻訳するには、Pythonを少なくとも少し学ぶ必要がありますね。

Pythonに飛び込んで学ぶことをお勧めします。C#プロジェクトとの相互運用性について懸念がある場合は、IronPythonを使用できます。

于 2009-05-14T13:18:10.417 に答える
2

チューリング完全言語のすべてで同じことができます。これは、 SQLでマンデルブロフラクタルをレンダリングするための例です。例は次のとおりです。どの言語を使用できる場合でも、作業は異なります。

ですから、Pythonは非常に柔軟でオープンなので、コードははるかに長くなると思います。

于 2009-05-14T13:24:45.143 に答える
2

それらをC#に変換することをお勧めします。私は第2章「推奨事項」をVB.Netに移植しています。その過程で、副作用としてPythonを学んでいます。TobyはPythonリストでいくつかの驚くべきことをします。

余分なPythonライブラリを処理することは別の話です。NdeliciousはpyDeliciousによく似ていますが、いくつかの重要な機能が欠けています(人気のある投稿です!)。

于 2009-06-12T11:04:40.107 に答える
1

必須のXKCD:http: //xkcd.com/353/

Pythonを学びたくないとはっきり言っていることは知っていますが(今年)、Pythonの例をC#に変換することは間違いなくはるかに急な曲線になります。飛び込むだけ!

于 2009-05-14T13:24:33.537 に答える
1

この本は、プログラミングの詳細ではなく、アルゴリズムに関するものであり、選択する言語は、例を具体的にするためだけのものです。著者が言うように、「この本のコード例はPythonで書かれています...しかし、他の言語のプログラマーが従うことができるように、すべてのアルゴリズムの説明を提供します。」(p。xv)

Pythonは優れた言語であり、習得も簡単ですが、この本のアイデアを適用することの難しさは、コードを別の言語やライブラリのセットに変換することではなく、アイデアを理解し、コードを変更してニーズ。慣れ親しんだ言語を使い続ける主な理由は2つあると思います。1)コードが機能しない場合、慣れない言語で書いていると、どこからエラーを探し始めるかわからなくなります。たとえば、ほとんどの人と同じように、Pythonのバグが原因であるかどうか疑問に思うこともありますが、そうではありませんが、疑問に思うと気が散ります。2)特定の時間内に覚えることができる量には自然な限界があります。同時に言語を学ぶことで、覚えておくべきことが2倍になります。

それは、C#をどれだけよく知っているか、そしてそれを残すことによって何を失うかによって異なります。

于 2009-05-14T14:14:51.980 に答える
0

Pythonは、何十年にもわたってLISPが何であったかをAIプログラミングするためのもののようです。Russel / Norvigの有名な本AI:A Modern Approachも、Pythonで多くの例を提供しています。

于 2009-05-14T14:23:12.617 に答える