找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5135|回复: 0

Quora创始人谈:我们为什么使用Python

[复制链接]
发表于 2012-6-5 18:10:14 | 显示全部楼层 |阅读模式
不经意间在Quora看到这样一个问题:Why did Quora choose Python for its development?2名Quora的创始人给出了答案,我觉得很有参考价值,所以摘录在此。
首先,Adam D'Angelo曾就职于Facebook,而这家公司是大量使用PHP的。但Adam D'Angelo几乎对PHP没有好感,说Facebook使用PHP是历史遗留原因(我估计扎克伯格最初只想用PHP快速搭建一个网站吧),它存在太多缺点(原文给出了不少文章,我就不列出了)。
其次是C#,这是一门很有前途的语言,但是选择它就意味着加入了Microsoft的阵营(烧钱啊),而很多开源软件对.NET只有第2级的支持(比如更新太慢,或者性能较差之类的),甚至根本不支持。另外,他们也不能冒使用Mono的风险(性能,更新,甚至可能会被Microsoft扼杀)。
而Java和Python比起来,代码写起来太冗长和痛苦,且很难于非Java的(感觉确切来说应该是非JVM的)东西交互。Scala也有Java和JVM的很多缺点,尽管它没有Java那么糟糕。而且它有点新,可能会存在一些不必要的风险。
他们还考虑过OCaml和Haskell,也有着足够的生态体系和标准库,但是对可能要写一些代码的设计师、分析师来说太难了。
Ruby也是个选择,但他和Charlie Cheever都更懂Python一些
Python最大的缺点是速度和类型检查。对他们而言Python已经足够快,而对性能有关键影响的部分都用C++写了;对于类型检查,他们写了足够多的单元测试来保证。
既然除去了这2个缺点,他们就很乐意选择Python了:
通过对过去5年的观察,他们确信Python将继续朝着对他们有利的方向发展。
有很多用Python写的库,可以很容易地与邮件服务器和任务队列等通信。他们采用了Python 2.6,这足够支持他们的库了。
Python有太多好框架(Django、Pylons等),且大都在不断进步。他们选择了Tornado(没给原因,但估计是对长连接的支持。)
PyPy可以带来显著的速度提升。
Python的数据结构和JavaScript(JSON)映射得很好,所以浏览器和服务器之间的通信很轻松,而Quora大量采用了这种无需载入页面的交互(还是长连接)。
Python的代码很易读(还应该加上表达能力强)。他们需要和很多人一起工作,这显得非常重要。
顺带一提,知乎可能也是因为这些理由选择Python和Tornado的。Quora Infrastructure这个标签可以知道很多技术内幕,真希望知乎也能增加一个;但国内的技术氛围似乎不方便透露,毕竟得考虑山寨的问题。

您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-23 16:26 , Processed in 0.012299 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表