前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么Quora选择Python作为它的开发环境?

为什么Quora选择Python作为它的开发环境?

作者头像
小小科
发布2018-07-31 15:53:01
4290
发布2018-07-31 15:53:01
举报
文章被收录于专栏:北京马哥教育北京马哥教育

自从Facebook的创始人Adam D'Angelo开始效力于这个大量使用了PHP的网站,我就一直在想他要用Python而不是PHP来创造Quora所遇到的技术挑战。

Adam D'Angelo,Quora创始人:

我们非常确定我们不会用PHP。Facebook因为历史遗留原因而使用PHP,并不是因为它是最好的选择。

从以往的经验看来,编程语言的选择是非常重要的,并且会付出非常昂贵的代价来改变它。

Python是一个Charlie和我都非常了解的语言(尽管我现在比刚开始的时候了解的更多了)。我们也简单地考虑过C#、Java和Scala,Python最大的问题是运行速度和缺少数据类型检查。

C#似乎是很有前途,作为一个编程语言,它很伟大,但是:

  • 我们不想在微软架构上,我们是为了学习新东西的,MS SQL 确实是非常不错的,但是我们知道我们需要为.NET集成很多有二等支持的开源代码,如果它支持的话。并且,现在大部分的工程师都习惯开源资源。
  • 我们不会在Mono(C#/.NET的一个开源代码的实现)上冒险。还不清楚这个项目会用多长时间,并且我还听说了不少已经表现出来的问题。总之,似乎一切在C#生态系统中的东西都表现出我们会在微软架构下。

‘另外两个我们简要考虑了的语言还有OCaml和Haskkell(没有一个有足够大的生态系统或足够好的标准库,可能对于需要写代码的设计师/数据分析师/非工程师来说太难了)。

我们决定,对于大多数我们要做的事情来说,Python已经足够快了(因为我们尽可能的把我们的后端服务的关键代码用C++来写)。至于类型检查,我们写了完善的单元测试,它值得写,并且实现了大部分相同的目标。从它过去的5年发展来看,Python会继续向着好的方向发展。

所以,我们对于这个选择感到非常开心。虽然其中有一些小的分歧,但是之前使用其他语言的早期的员工非常高兴的过渡到了Python,特别是之前使用PHP的。自从下面这些事情开始发生:

  • Python2.6是一个转折点,它有了足够多的库进行兼容,我们很容易过渡到它
  • Tornado(web框架)被发布为开源,我们把实时更新网络服务迁移到它上面
  • PyPy看起来最终是可用的,并且会给我们一个显著的加速

总之,这些给了我们信心,让我们相信这个语言和生态系统正向着好的方向发展。

Charlie Cheever,Quora的一个创建者

给Adam的答案补充几件事情:

  • Python有一堆相当好的提供了良好的调试器和重载的框架(Django,Pylons和其他一些),这些大部分都被很好的支持并且也变得越来越好。由于我们的主要工作是建设网站,这是很有吸引力的。
  • Python数据机构很好的匹配JS数据结构,所以处理浏览器和服务器之间的数据非常直接和简单。这真是太好了,因为Quora中涉及到大量的客户端和服务端之间的不加载页面的交互。
  • Python代码往往可读性很强,因为我们希望能在网站上和一帮人工作,这变得非常重要。
  • 有很多其他的Python写的库,所以很容易在我们的代码中引入一些东西,比如:自定义邮件服务器、任务队列,等等。

Ruby是另一个我认为比较合理的选择,因为它和Python有很多相同的优点,但是Adam和我都对Python了解的更多一点。

英文原文: https://www.quora.com/Why-did-Quora-choose-Python-for-its-development 译者: cmsl

*声明:推送内容及图片来源于网络,部分内容会有所改动,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

- END -

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档