为什么Google大量使用Python进行编程?

问题:

Google大量使用Python,这只是一个品味问题,还是给他们一个竞争优势?

回答:

我不能真正给出一个明确的答案,因为在2004年我在谷歌采访时,Python在Google已经很突出。
事实上,有一个很明显的吸引人的解释,我绝对否认:Google不是使用Python,因为它使用了许多着名的Pythonistas – 而不是大多数“杰出的Pythonista”Google加入Google,至少部分是因为我们知道Python的突出那里(可能的例外包括Peter Norvig和Jeremy Hylton,但是从历史上看,谷歌的Python选择甚至超过了他们)。
这绝对是为什么我第一次有兴趣(我的出版商让我知道Google正在购买我的这本书的大量副本 – 首先,我认为这是出售我自由咨询服务的好机会…; ),我以后如何能够说服Guido加入我们,我相信,这种Pythonistas的一部分动机是Greg Stein,Wesley Chun,Fredrik Lundh,Thomas Wouters,Collin Winters,Jeffrey Yasskin,…
我相信这一切都开始了,因为最早的Google员工(Sergey,Larry,Craig,…)做出了很好的工程决策:“Python可以在哪里我们必须” – 他们使用(一个子集)对于非常低的延迟和/或严格控制内存的软件栈的部分C ++来说至关重要,而对于其他部分,Python允许更快速地交付和维护程序。当时的90年代末,后一种角色的选择基本上在Python和Perl之间:其他脚本语言是未成熟的(例如,我不认为Ruby已经存在)或者有其他问题和限制。 Perl更成熟(特别是在通过CPAN的可用附件的生态系统方面),但是Python被认为更易读和可维护,并且与C ++库(通过SWIG)的连接更容易。
Java后来出现,涵盖了一个中间的利基 – 最近当然Go是开发的(尽管我不相信还有很多生产工作,因为它还在不断发展和成熟)。一些专门的语言(例如sawzall)也适用于非常具体的任务,当然,Javascript对浏览器端工作非常重要。
其他语言,包括格雷格在06年提到的语言,或者是“意外的”或用于其他特定任务(例如,客户端在iPhone或Mac上的目标C) – 例如,当Google聘请其第一个系统管理员,这些员工不可避免地会非常强烈地掌握Perl和Bash,并且经常使用这些语言之一来开发一些复杂的内部系统;在Python中重新编码(为了更容易的部署和可维护性)经常发生。其他(如C#)可能由于收购而暂时处于混合状态,但是再次,以“主要Google语言”中的一种重新编码始终是相当高的优先级(在C#的情况下,重新编码通常主要是Java,因为这两种语言在抽象层面上涉及类似的领域)。

翻译整理: codewenda.com
英文原文:Heavy usage of Python at Google

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 52 = 61