Google での Python の多用 [終了] 質問する

Google での Python の多用 [終了] 質問する

Google は Python を多用していますが、これは単に好みの問題なのでしょうか、それとも競争上の優位性をもたらすのでしょうか?

ベストアンサー1

2004 年に Google で面接を受けた時点では、Python はすでに Google で主流になっていたため、明確な答えを出すことはできません。

実際、私が断固として否定できる、一見魅力的な説明が 1 つあります。Google が Python を使用するのは、非常に多くの著名な Pythonista を雇用しているからではなく、むしろ、ほとんどの「著名な Pythonista」Google 社員が Google に入社したのは、少なくとも部分的には、Google における Python の重要性を知っていたからです (例外としては Peter Norvig と Jeremy Hylton が挙げられますが、歴史的に見ると、Google が Python を選択したのは彼らよりも前です)。

それが、私が最初に興味を持った理由です (私の出版社が、Google が私の本を大量に購入することを知らせてくれました。最初は、フリーランスのコンサルティング サービスを売り込む良い機会だと思いました...;-)。その後、Guido を説得して参加させることができたのも、そして、Greg Stein、Wesley Chun、Fredrik Lundh、Thomas Wouters、Collin Winters、Jeffrey Yasskin などの Pythonistas が参加する動機の一部になったのも、間違いなくこのためです。

すべては、初期の Google 社員 (Sergey、Larry、Craig など) が「できるところでは Python、しなければならないところでは C++」という優れたエンジニアリング上の決定を下したことから始まったと私は考えています。つまり、非常に低いレイテンシやメモリの厳密な制御が重要なソフトウェア スタック部分には C++ (のサブセット) を使用し、その他の部分にはプログラムのより迅速な配信と保守を可能にする Python を使用しました。当時 (90 年代後半)、後者の役割の選択肢は基本的に Python と Perl のどちらかでした。他のスクリプト言語は未熟 (たとえば、Ruby はまだ存在していなかったと思います) か、他の問題や制限がありました。Perl はより成熟していました (特に CPAN 経由で利用可能なアドオンのエコシステムに関して) が、Python の方が読みやすく保守しやすいと考えられ、C++ ライブラリ (SWIG 経由) とのインターフェイスも容易でした。

Javaは後から登場し、中級者向けのニッチな言語として利用されるようになりました。そして最近ではもちろんGoが開発されました(ただし、Goはまだ進化と成熟の過程にあるため、実用化はまだ進んでいないと思います)。ソーザル非常に特殊なタスクにも使用され、もちろんブラウザ側の作業では JavaScript が非常に重要です。

グレッグが 2006 年に言及した言語を含むその他の言語は、「ある意味偶然」であるか、他の特定のタスク (iPhone または Mac のクライアント用の Objective C など) に使用されています。たとえば、Google が最初のシステム管理者を雇用したとき、それらの従業員は必然的に Perl と Bash を非常に熟知しており、複雑な内部システムを開発するためにこれらの言語のいずれかを使用することがよくありました。それらを Python で再コーディングすることはよくありました (展開と保守を容易にするため)。他の言語 (C# など) は、買収により一時的に混在していた可能性がありますが、ここでも、「主要な Google 言語」のいずれかで再コーディングすることは常に非常に優先度が高いです (C# の場合、2 つの言語は抽象化のレベルに関して同様の領域を扱うため、再コーディングは通常、主に Java で行われます)。

おすすめ記事