Quora 为什么使用python Adam D'Angelo(Facebook第一任CTO)谈为什么Quora用python

Adam D'Angelo(Facebook第一任CTO)谈为什么Quora用python

=======================================================

我们可以确信是,我们不希望使用PHP。 Facebook是憋屈,对于传统的原因,不是因为它是最好的选择现在。 我们从经验中总结出是:编程语言的选择是非常重要的,也是极其昂贵的改变。

 

Python的是查理和我都知道,并且相当不错(并且现在它比我们刚开始使用的时候变的还要好)的语言。我们还曾经考虑过C# ,Java和Scala的。最大的问题是纠结于Python的速度和缺乏类型检查。

 

C#是一门很有前途的编程语言。作为一种编程语言,它是伟大的,但是我们不希望工作在Microsoft的平台。我们很向往学习新的东西,MS SQL Server实际上还不错,但我们知道,在只有第二级支持.net 平台上如果没有现成的功能支持,我们需要有更多的开源代码集成。此外,大多数最优秀的工程师,一直以来都在使用开源的东西。我们无法承担Mono(C#/.NET的开源实现)的风险。目前尚不清楚多少力量在支持该项目,我还听说了各种性能问题。此外,假设我们使用Microsoft的平台的话,那么Mono就意味这是一切。

 

对于很多小问题,java 往往要比python书写更多复杂的代码。而且也很难实现与非Java的东西交互。 Scala中也有很多Java和JVM的缺点,虽然它不是那么十分糟糕。scala语言似乎有点太新了,似乎它会带来一些不必要的风险(例如,谁知道10年这个语言会怎么样) 。

 

我们也非常认真地考虑了另外两个语言是OCaml中和Haskell (既没有足够大的生态系统也没有足够好的标准库,这对于一些设计师/数据分析师/非工程师,编写可用的代码有点太难了) 。

 

我们决定了Python,是因为大多数情况下,能够满足我们的性能要求(因为我们把我们的性能关键代码用C + +实现并部署在后端服务器) 。至于类型检查,我们最终将作出是否完善的单元测试,不管怎么样,我们实现了自己大部分的目标。在过去5年的演变过程中,我们也有了很大的信心,Python将继续在一个方向上前进,并有利于我们的代码库的寿命。

 

到目前为止,我们已经很满意当初的选择。有一个小的转变,在过去使用其他编程语言的员工都已经高兴地过渡到Python,尤其是那些从PHP转来的。由于在开始下面的事情发生:

 

Python 2.6中得到的地步,我们使用的库都足以与它兼容的,我们能够非常容易过渡到它。

Tornado( web框架)被发布并开源了,我们也将自己的服务更新到了这个框架。

PyPy好像最终也会被使用,并且将会给我们带来显著的加速。

 

总之,这一切使我们相信,编程语言和生态系统正朝着好的方向发展。

 

转载请注明本文链接:http://www.simapple.com/249.html