• 趣编程,专注优质IT资源分享

  • 网站资源全部免费下载,详情点击右上角积分获取查看

  • 希望趣编程可以助在你的学习路上一臂之力

  • 网站最近会更新一些安卓开发的入门教程,感兴趣的朋友点击:平台开发——移动开发

  •    4年前 (2016-03-13)  精选趣文 |   2 条评论  119 
    文章评分 0 次,平均分 0.0

    Quora上有人问了这样的问题:

    作为Quora的创始人,Adam曾经在Facebook工作(按:Facebook的前VP),大家都知道Facebook就是个PHP作坊。 我想知道Quora为什么选择了Python而不是PHP作为开发语言?这样的选择又面临什么样的技术挑战?

    Quora两位创始人选择Python的原因

    Adam 站出来回复了:

    PHP显然不在考虑之列。Facebook继续使用PHP完全是因为历史原因,并不是因为PHP现在是最好的选择。这件事让我们明白两个道理,那就是:

    1、开发语言的选择极其重要

    2、更换开发语言成本高昂。

    Charlie(按:Quora的另一位创始人)和我都很熟悉Python(尽管我现在对Python的理解远比以前更加深刻)。事实上我们也曾经考虑过其他选择,比如C#, Java和Scala。Python最主要的的问题是运行效率不高和缺乏类型检查机制。

    C#看起来是不错的选择。作为一门程序语言,它非常棒,但是有以下顾虑:

    1、 我们不想依赖于微软的技术链。 我们乐意学习新东西,MS SQL看上去也很不错。不过我们知道我们将集成很多开源程序,而这些开源程序对.NET顶多也就是提供二手的支持(如果有的话)。另外,现在最棒的程序员都习惯于使用开源的东东。

    2、我们也不想冒险去使用Mono(C#/.NET的开源实现)。 Mono项目的资金支持能持续到什么时候还是个未知数,而且也听说过它存在一些性能问题。另外一个很大的问题是,一旦你使用C#,它便假定你所有的东西都是基于微软的生态系统实现。

    至于Java,也有一些并非根本的因素导致我们不乐意选择它。Java程序通常比同等Python程序要长,编写起来更加麻烦。如果需要集成非Java实现的东东,那就更头大了。Scala尽管会好一些,但还是从Java和JVM哪里继承了很多这样那样的毛病。同时Scala也太新了些,这会让我们冒不必要的风险(比如,天知道未来10年它会得到什么样的支持)

    另外我们还考察过其它两种语言:OCaml和Haskell。但二者都缺乏足够大的生态系统,标准库也不够完善。而且对于有时不得不写代码的设计师/数据分析师/非程序员来说,它们实在是太难于学习。

    Python的性能已经能够满足我们绝大部分需要,而涉及性能关键的代码我们都尽可能使用C++实现,运行在后端服务器。至于缺乏类型检查的不足,我们通过详尽的单元测试来弥补,这非常有效,完全达到了目的。同时,过去5年Python演进的方向也让我们对其未来的发展充满信心,这对我们的codebase非常有益。

    到目前为止,我们很满意当初的选择。我们的选择或多或少有一些个人偏见,不过值得高兴的是,所有过去使用其他语言的团队成员都非常乐于转换到Python,特别是那些PHPer。还有一些值得一提的是:

    1、Python2.6发布时,我们用到的绝大部分库都保持了兼容,这是我们非常容易的完成升级。

    2、Tornado(web framework)开源了,我们马上把实时更新部分的web service迁移到Tornado实现。

    3、PyPy 看上去终于具有可用性了。这将给我们带来极大的性能提升。

    所有这一切,都让我们相信Python及其生态系统在向好的方向发展。

    另外一位创始人,Charlie,对Adam回复的一些补充,

    1、Python有许多很酷的框架,它们拥有很棒debugger和reloader,比如Django, Pylons等等。大多数框架都有良好的社区支持并变得越来越好。因为我们主要做的是web应用,所以这非常有吸引力。

    2、Python和Javascript的数据结构匹配得非常好(Python标准库内置对json的支持),因此browser和server间序列化和交互数据简单直接。由于Quora除了页面加载外, client和server还有很多数据交互,所以这非常棒。

    3、Python代码有良好的可读性,这很重要,因为我们需要和很多人一起协作。

    4、Python有丰富的开源程序库,所以要集成mail server或task queue之类的到我们的codebase非常容易。

    我想Ruby也是一个合理的候选,它同样具备很多Python具备的优点。只是Adam和我更熟悉Python。

     

    来自:开源中国社区

    链接:http://www.oschina.net/question/940580_172043

    原文链接:http://www.quora.com/Why-did-Quora-choose-Python-for-its-development

     

    网站所有资源均免费下载,详情点击右上角积分获取 除特别注明外,本站所有文章均为趣编程原创,转载请注明出处来自https://www.qubiancheng.cn/1175.html

    关于

    发表评论

    表情 格式

    1. 谢谢

      名前 评论达人 LV.1 3年前 (2017-01-17) [0] [0]
    2. 在国外python用的是不是很多了?国内刚兴起不久的样子

      流年枫 评论达人 LV.1 4年前 (2016-03-29) [0] [0]

    友情链接

    切换注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    网站本地注册功能正在维护中,请选择QQ登录或者微博登录。

    扫一扫二维码分享