-1

ショートストーリー:

Perl から Python への切り替えに関するプレゼンテーションや優れた記事を探しています。

より長い話:

私はハードウェア設計グループのプログラマー/組み込みハードウェア エンジニアです。数年前、私は同僚にスクリプト作成に Perl を使用するよう説得しました (バッチ ファイル、Excel、Matlab、および TCL の奇妙な組み合わせの代わりに)。それ以来、私自身も Perl から Python に切り替えましたが、その変化にとても満足しています。どうにかして同僚に私の道を歩むよう説得したいのですが、彼らを納得させるには良い点が必要です。これらは、より優れたリフレクション機能のような重いプログラマーのブードゥーではありません (私とは異なり、ここにいるほとんどの人は EE の卒業生であり、プログラマーではありません)。

何か案は ?トピックに関する良い記事/プレゼンテーション ? おそらく、誰かがすでにそれを行っていて、ヒントを共有できるでしょう。

ノート:

このスレッドは多少同じトピックに関するものですが、私の要件には完全には適合しません。

4

9 に答える 9

16

両方の言語が同様の機能を備えている場合、大量のコードをある類似言語から別の言語に書き直しても何のメリットもありません。おそらく、より良い perl コードを書くことに集中するべきでしょう。perltidy の使い方を学ぶか、Perl Best Practices と Perl Medic のコピーを購入して、同僚に配布してみてください。また、Perl が Python ほど純粋に OO ではないことを心配している場合は、Mooseを使用してください (とにかく、Python は Perl と比較して関数型プログラミング部門に欠けていると反論します)。

以下のコメントに応えて、あなたが既に使用している言語と同様の機能を備えた言語を同僚に学習させ、習得するように強制しても意味がないと言いたい.

さて、あなたの会社が必要としている、Python では利用可能 (またははるかに優れている) で、Perl では利用できない (または品質がはるかに劣る) ライブラリなどがある場合は、別の言語に切り替えるか、別の言語をミックスに追加してください。

于 2008-09-25T15:30:03.337 に答える
12

あなたが最初に必要とする答えは、「なぜ Python に切り替えてもらいたいのですか?」に対する答えだと思います。これは、あなただけが提供できるものです。

あなたの投稿の全体的な口調からすると、「ああ、このクールな新しい言語を見つけたので、そのクールさをみんなと共有したい!」という内容ではないかと思います。または、別の言い方をすれば、「やっとPerl の支配から逃れるために使用できる何かが...」 だとしたら、他の人の個人的な好みが自分の好みと同じであるかどうかを気にする必要はありません。「私たちは皆、お互いのコードに触れている」というだけの問題なら、なぜあなたの個人的な好みが他の人の好みよりも優先されるべきなのでしょうか?

OTOH さん、実際の技術的な理由と切り替えによって得られる大きな利点があると思われる場合は、それらの利点を具体的な言葉で特定する必要があります (実際の Python コードでそれらを実証することは、これを行う 1 つの方法ですが、唯一の方法ではありません)。そして、それを同僚に提示して、それが良い切り替えになると説得できるかどうかを確認します。

最終的に「バッチ ファイル、Excel、Matlab、および TCL の奇妙な混合」から、Perl、Python、および次に興味を引く他の言語の奇妙な混合に移行しないように注意してください。

于 2008-09-25T16:49:47.670 に答える
7

Perl よりも Python を好む理由は何ですか? 何があなたをとても幸せにするのですか?あなたの同僚は Perl に不満を持っていますか? もしそうなら、Perl の何が彼らを苦しめ、Python の方がうまくいくのでしょうか?

彼らを納得させる唯一の方法は、可能なメリットを示すことです。それらは非常に主観的で個人的な傾向があります。

于 2008-09-25T11:38:54.420 に答える
6

代替テキスト

于 2008-09-25T11:51:49.647 に答える
6

Sorry. I am just offended that you treat Perl like basic. and Python like the next step in evolution. Now that I have that off of my chest.

Evaluate the feature(and limitations) difference of the two. Perl has constants, multi-line anonymous functions, and autovivification, but python has better default Object Orientation.

Evaluate the cost/benefit of your team/friends switching. It may be good for your team to have specializations in different languages, or it may be a waste of resources.

Dispel the myths behind Perl and Python.

And of course enjoy whatever language you are using.

于 2008-09-25T18:50:34.773 に答える
5

ある言語から別の言語に変更する方法について、非技術系のマネージャーの考えを変えることができない場合は、変更を提案したり、変更を主導したりする資格がありません。

既存のものよりも優れている正当な理由が必要です。「私は構文が好きです」または「Googleがそれを使用している」は、経済的または技術的にも正当な理由ではありません.

これは非常に大きなスイッチであるため、なぜそれを行うことが理にかなっているのかを自分の頭の中で知る必要があります。

于 2008-09-25T11:52:05.403 に答える
3

PythonがPerlよりも優れていることを人々に納得させる方法は?

PerlよりもPythonの方が成功します。

彼らがあなたがなぜそんなに成功しているのかと尋ねたら、彼らは箱の外で考えなければならないだろうと彼らに警告します。あなたの成功の秘訣を明らかにする前に、彼らが実際に改善したいと思っていることを確認してください。[何人かの人々は改善したくない、彼らは泣き言を言いたい。それらを有効にしないようにしてください。]

あなたがより成功するまで、あなたは何も見せることができません。「彼らを説得する良い点」はあなたの個人的なサクセスストーリーです。

「 PythontotheRescue」の瞬間のプライベートリストを開始します。あなたの実際の組織での実際の勝利である救助への各Pythonは議論の余地がありません。

毎日、きちんとしたブログ可能なサクセスストーリーを探したいと思います。

于 2008-09-25T13:15:54.267 に答える
2

Eric S. Raymond は、Python に関する彼の経験について興味深い記事/エッセイを書きました。

作業コードの作成について:

入力するのとほぼ同じ速さで作業コードを書いていて、ミスステップ率がゼロに近い場合、それは通常、その言語を習得したことを意味します。しかし、それは意味がありませんでした。なぜなら、それはまだ初日であり、新しい言語とライブラリの機能を調べるために定期的に一時停止していたからです!

これは、私が実際に Python で非常に優れた設計を扱っているという最初の手がかりでした。ほとんどの言語は、設計に非常に多くの摩擦とぎこちなさが組み込まれているため、失敗率がゼロに近づくずっと前に、ほとんどの機能セットを学習します。Python は、私がこれまでに使用した中で、このプロセスを逆転させた最初の汎用言語でした。

メタクラスのハッキングについて:

私が驚いたと言うことは、控えめな表現で積極的にうんざりしていたでしょう. 単純な手法の実装が最初に期待どおりに機能する場合、それは十分に注目に値します。しかし、新しい言語での私の最初のメタクラス ハックは、コールド スタンディング スタートから 6 日後ですか? 私がかなり有能なハッカーであると規定したとしても、これは Python の明快さとデザインの優雅さの驚くべき証です。

Perl での経験レベルがはるかに高かったとしても、Perl でこのようなクーデターを成功させることはまったくできませんでした。この時点で、おそらく Perl を置き去りにしていることに気づきました。

Raymond について聞いたことがある人、および Python を書いたことがある人にとっては、一読の価値があります。彼は多くの perl の経験 (および一般的に多くのコーディング経験) を持っているため、Python に関する彼の熱烈なレビューには、ある程度の重みがあります。

于 2008-09-25T18:35:23.000 に答える
0

同僚に、数か月前に書かれた Perl スクリプトをまだ読めるかどうか、または他のスクリプトを読んで理解できるかどうか尋ねてください。Python の重要な点の 1 つは、非常に読みやすいことです。また、Perl のすべての優れた機能を Python で実行する方法も示してください。彼らに Python doc を見せてください。Perl と比較して、Python OO がどのように言語に統合されているかを示します。

マネージャーに提案する場合は、メンテナンスがはるかに簡単であるという部分について言及してください。彼は、全員に今すぐ切り替えるように命じるかもしれません。

于 2008-09-25T13:50:12.997 に答える