PythonがGoogleにとって十分に強力な5つの理由

記事5翻訳PythonがGoogleにとって十分に強力な理由



新しいプロジェクトを開始する準備が整いました。 開発にはどの言語を選択する必要がありますか?



または、この質問を再定式化するために: あなたは仕事を探しています、あなたはどの言語を学ぶ必要がありますか?



この記事のタイトルから、Pythonが正しい答えだと思います。 しかし、なぜですか?



答えは、Pythonは強力な言語だということです。 しかし、それはどういう意味ですか? プログラミング言語を強力にするものは何ですか?



Pythonが効率的



今日、大量の知的エネルギーがビッグデータに費やされています(その分析と処理の両方のため)。 処理するデータが多いほど、使用するメモリを管理することが重要になります。



Pythonは、 ジェネレーターと関数ジェネレーターの両方を提供します。



ジェネレーターは、一度に1項目ずつ、物事の反復処理を可能にします。 リストの通常の反復処理にはリストが必要であることを理解し始めるまで、これはそれほど素晴らしいとは思えません。 リストはメモリを占有します。 非常に大きなリストは多くのメモリを消費します。



特に便利な場合(プロセスの長いチェーンがある場合)、データセットへの適用が必要です。 ジェネレーターを使用すると、1つの要素のソースデータを同時にキャプチャし、プロセスチェーン全体に送信できます。



多くの場合、あるサイトから別のサイトにデータを転送する必要があります。 転送するサイトの一部には、10年の履歴とギガバイトのデータがあります。 Collective.transmogrifierジェネレーターに基づいた移行ツールを使用して、サイトデータを読み取り、複雑な相互依存データ更新を生成し、読み取り専用メモリの新しいサイトでオブジェクトを処理、作成、保存できます。



さらに大きなデータセットを扱うアプリケーションの場合、このようなツールは不可欠です。 David Beasleyの優れたプレゼンテーションには、システムタスクにジェネレーターを使用する非常に魅力的な例が含まれています。 想像してみてください、あなたの想像力が暴走しているのが見えます!



Python高速



わかった、わかった。 鼻水が聞こえます。 Pythonはインタプリタ言語ですよね? 彼らは遅くありませんか?



実は、近年、Pythonのパフォーマンスを改善するために驚くべき作業が行われています。



PyPyプロジェクトは、一般的にPythonを高速化することを目的としています (そして、これについて素晴らしい仕事をしています )。



Numbaは、既に持っているコードにデコレーターを追加するだけ驚くほどの速度の向上を実現できます。



したがって、高性能コンピューティングを行いたい場合、今日のPythonは実行可能なオプションであると言いたいと思います。



Pythonは広く普及しています



Pythonはかなり前から存在しており、ほぼすべての活動分野で使用されています。 Redditスレッドは、システムの自動化、テスト、ETLからゲーム、CGI、Web開発に至るまでのタスクへの回答について、 「職場でのPythonの使い方」調査を作成しました。



DisneyはPython使用 、その創造的なプロセスをサポートしています。



MozillaはPythonを使用して膨大なコードベース探索し、 Pythonに組み込まれた多くのオープンソースパッケージをリリースします。



PythonのパブリックパッケージディレクトリであるPyPiを確認すると、 これらのカテゴリの300で利用可能な40,000個のアドオンが表示されます



基本的に、Pythonで何かをしたい場合、誰かが既にそれを持っている可能性がかなりあり、ゼロから始める必要はありません。



PythonはPythonではありません



私は最近、 なぜ非常に多くの種類のPythonがあるのか​​についての投稿を読みました。



著者は、Pythonは実際には言語ではなく、言語の説明だと考えています。 これは、Pythonを任意の方法で実装できることを意味します。



ほとんどの人がやり取りするPythonは、Cで書かれた実装であるCPythonです。CPythonの機能の1つは、Cで書かれたコードとの純粋な統合を提供することで、Cライブラリのラッパーの実装は比較的単純です。



ただし、Javaコードとの深い統合を提供するJython 、C#および.NETコードを操作するIron Python 、ObjectiveCツールを使用してPythonコードを記述するPyObjc 、さらにJavaScript用にPythonをコンパイルするpyjsもあります。



したがって、これらの言語のいずれかで既にソフトウェアスタックを使用している場合、作業環境にPythonを含めるのは非常に簡単です。そのため、すべての機能を最大限に活用できます。



Pythonは簡単です



Pythonは習得しやすいという評判があります。 言語構文は読み取り用です。 これについて多くの議論がありますが、事実はそれを物語っています。



Pythonの人気の多くは、 科学計算などの分野に集中しています。 この分野で働く人々は主に科学者であり、プログラマーのみです(彼らがいる場合)。



NumPySciPyなどの高度なシステムは、ソフトウェアエンジニアのチームではなく、作業を完了するために必要なツールを作成したドメインエキスパートによって設立されました。



それについて考えてください。



新しいプロジェクトを作成し、特定の分野で作業している場合、どの問題を解決する必要があるのか​​を誰に任せたいですか? もちろん、この分野の専門家と開発者を雇うことができます(そして、最終的には必要になります)。 あなたは彼らにお互いに話すことを教えることさえできます(そして最終的には、これも必要になります)。 しかし、あなたが始めたばかりの場合、何をするのが最善ですか?



専門家に直接力を与える言語を選択する必要があると思います。



Pythonを選択します。



All Articles