Python をクライアント/上司/個人に販売する方法 [終了]
-
08-06-2019 - |
質問
システム XYZ の作成を依頼され、PHP や Ruby ではなく Python で作成するよう依頼された場合、説明を求められたときに言及できる主な機能は何ですか?
解決
これは、結局は個人的な好みや状況の詳細に起因するケースの 1 つです。Python の方が慣れていて経験がある場合は、そう言ってください。彼らは、他の環境の方が快適だからという理由でそれを正当化するようあなたに求めているのでしょうか?完了後、システムは長期保守のために他の人に引き継がれるのでしょうか?
あなたがあまり慣れていないテクノロジーや言語を使用するように頼まれた場合は、時間がかかることを事前に理解してもらいましょう。
他のヒント
私がこれまで見た中で Python のベストセラーは、グループ内の若い娘を持つマネージャーによるものでした。彼はアインシュタインのものとされる次の引用を使用しました。
6 歳児に何かを説明できない場合、あなた自身もそれを本当に理解していないことになります。
彼のプレゼンテーションの次の数枚のスライドでは、彼がどのようにして幼い娘に 30 分以内で基本的な Python を教えることができたのかを、彼女が書いたコードの例とその動作の説明とともに示しました。
彼は娘の写真と「プログラミングは楽しい!」という彼女の言葉でプレゼンテーションを締めくくりました。
私は Python の使いやすさとライブラリとフレームワークの豊富さに焦点を当てます。他の言語では入手できない可能性があり、自分で作成する必要がある小さなライブラリもたくさんあります(つまり、 C++ 開発者が Python を記述する方法).
幸運を!
これは Google で好まれている言語の 1 つであり、「成熟度」という点では Ruby よりも数年先を行っています (それが実際に何を意味するかは別として、マネージャーはそれを好みます)。Google が推奨しているため、Google App Engine 上で実行することもできます。
Mircosoft も Python を採用しており、IronPython v2.0 が間もなくリリースされる予定です。彼らは Ruby の実装にも取り組んでいますが、Python バージョンははるかに進んでおり、実際には「ゴールデンタイムの準備ができています」。これにより、.NET コードと簡単に統合できるようになり、Silverlight 2 の出荷時に Python でクライアント側 RIA を作成できるようになります。
開発/プロトタイプに必要な時間が短縮され、おそらくメンテナンスが容易になることに焦点を当てます (これはいずれも Ruby には当てはまりません)。
新しいプロジェクトで Python を使用するかどうかは、Python でどのような問題を解決しようとしているかに完全に依存すると思います。Python を使用するべきだということに誰かに同意してもらいたい場合は、Python の機能がその問題に具体的にどのように適用されるかを示してください。
Python を使用した Web 開発の場合、作業を容易にする WSGI やその他の Web ライブラリやフレームワークについて話します。Python に関する注意点の 1 つは、Python Web 開発のフレームワークのほとんどは現在のプロジェクトに直接接続できることです。Ruby on Rails を使用すると、プロジェクトを使用する人は誰でも習得する必要がある DSL で実際に作業することになります。彼らが Python を知っていれば、あなたが django などで何をしているのかを 1 日で理解することができます。
私が Web 開発についてのみ話しているのは、Ruby、Python、PHP を同じリストに含めて作業することになると思われるためです。重要な本当のメッセージは、Python について好きなものすべてに適用することです 直接 あなたが解決しようとしている問題に。
彼らが気に入る素晴らしい機能を実行するコードのスニペットを各ページ (1 ページ以内) に提供します。(例: データセット内の外れ値を表示)。
各ページを見せてください。1 つは PHP、Ruby、Python です。
どちらが理解しやすい/読みやすいかを生徒に尋ねてください。
だからこそ Python を使いたいと伝えてください。最もエレガント (Python 的) であるため、作成したことがない場合でも読みやすく、管理しやすく、バグが少なく、機能を迅速に構築できます。
私もムレッゲンさんの意見に同意します。Python を使用すると物事をより速く完了できることを伝えます。物事をより早く完了させることで、クライアントのコストを節約できる可能性があります。少なくとも、これは、より使いやすい言語で作業していることを意味し、開発、デバッグ、リファクタリングの時間が短縮されることを意味します。文字列の長さを調べるためにどの関数を使用するかなどについてドキュメントを調べる時間が短縮されます。
けれど 3 つの言語はすべて多用途であり、世界中のプログラマーによって使用されています。, Python には、他の 2 つよりも優れた点がまだいくつかあります。私の個人的な経験から言うと:-
- プログラマー以外の人もこれを気に入っています (ほとんどのプログラマーは最初のコンピューター言語として Python を選択しています。このインフォグラフィックを確認してください) PHP vs Python vs Ruby ここ)
- 複数のフレームワーク (システムタスクを自動化でき、Web および Windows/Mac/Android OS 用のアプリを開発できます)
- MATLABよりも簡単にOpenCVアプリを作成
- テストが簡単に完了 (Selenium を使用してあらゆる種類の Web テストに取り組むことができます)
OOPS の概念は現在、ほとんどの言語で採用されているのに、どうして Python が後れを取ることができるのでしょうか。継承、抽象化、カプセル化も Python に続きます。
現在、Python は 2 つのバージョンに分けられており、パフォーマンスだけでなく機能の面でも大きな違いはありません。 Python2.x と Python 3.x 次のようないくつかのステートメントを除いて、どちらも同じ構文を持ちます:-
- 「...」を印刷します Python2.x と プリント() Python3.xでは
- raw_input() Python2.x と 入力() Python3.xでは(ユーザー入力を取得するため)
結局のところ、クライアントはお金のことだけを気にしており、Python を使用すると、経験豊富なプログラマーを雇う代わりに、初心者に Python を習わせて専門的に使用させることができるため、PHP や Ruby に比べて大幅な節約に役立ちます。