国外开发者谈为何放弃PHP而改用Python

 更新时间:2009年09月15日 11:56:09   作者:  
本文作者作为一名从事PHP开发11年的资深开发者,却放弃了PHP而改用Python。
借助本文,作者与其说是解释了他做出这种选择的原因,不如说是他对PHP和Python两种语言的性能进行了比较。以下是作者的原文翻译:

我之所以放弃PHP,原因首先是语言。PHP实际上不是一种语言,而是一种巨大的插件结构,以一种高层的形式来展示低层的库。而大部分开发者使用的 语言实际上是对C功能 (curl, mysql, gd, etc.)的包装,通常情况下它们的库展示得很简单。因而这导致了PHP的API不一致。

PHP语言的第二个问题是语言的管理问题。PHP语言实际上是由委员会来设计的,而且没有人来制定任何共识性的标准。PEAR有自己的标准,PHP有自己的标准,这导致SPL classes更具Java风格,而PEAR却截然不同。

从事PHP开发11年来,我认识了很多PHP领域的专家级开发者,它们对PHP也有很多看法。除了上文提到的委员会问题以及标准混乱问题之外,由于PHP的使用范围非常广,向后的不兼容对代码造成了很大的破坏。

还要提到的一点是PHP缺乏很多现代语言的特性。现在再来说说Python:

Python语言的创建方法几乎与PHP的完全相反。首先,Python是由Benevolent Dictator和Guido van Rossum领导的,语言的开发由单一的人员主导,因此它的开发、管理以及长期运营会保持很好的连续性。Guido和Python的核心开发者通过PEP 创建标准,而且通过公共接口展示标准是如何创建的。而且,Guido如果想到的语言特性不够好,也不会出现在语言层中(如没有++运算符,而且比较符中没 有分配)。

延续性的特点也延伸到了整个Python社区,所以你很难发现不同项目中的Python截然不同。

我最喜欢的Python的一个特点就是它的清晰。当打开Python中的一个文件的时候,我会清楚地知道里面大概有什么样子的代码,联想到很多次我被PHP的这一点搞得焦头烂额,我觉得这个特性非常有用。

总之,Python的系统级特性非常不错。

Python另外一个很棒的特性是直白性。需要namespace(命名空间)?文件的名字就是命名空间;需要模块?只需要用一个__init__.py文件代替;需要重命名功能?只需要new_func = old_func。

相关文章

  • Postman使用详解

    Postman使用详解

    今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一
    2020-11-11
  • 最适合人工智能开发的5种编程语言 附人工智能入门书籍

    最适合人工智能开发的5种编程语言 附人工智能入门书籍

    这篇文章主要为大家详细介绍了最适合人工智能开发的5种编程语言,并为大家推荐人工智能入门书籍,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 好玩的vbs小程序之关机功能

    好玩的vbs小程序之关机功能

    这篇文章主要介绍了好玩的vbs小程序之关机功能,非常有趣,感兴趣的朋友跟随小编一起看看吧
    2019-09-09
  • 一文弄懂字符集编码

    一文弄懂字符集编码

    软件开发人员经常遇到中文乱码、软件不能显示中文等类似问题,本文主要介绍了一文弄懂字符集编码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 详解Hadoop 运行环境搭建过程

    详解Hadoop 运行环境搭建过程

    这篇文章主要介绍了Hadoop 运行环境搭建过程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Prometheus和NodeExporter安装监控数据说明

    Prometheus和NodeExporter安装监控数据说明

    这篇文章主要为大家介绍了Prometheus和node exporter安装监控数据说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • kali2021.4a使用virtualenv安装angr的详细过程

    kali2021.4a使用virtualenv安装angr的详细过程

    在Linux中安装各种依赖python的软件时,最头疼的问题之一就是各个软件的python版本不匹配的问题,angr依赖python3,因此考虑使用virtualenv来安装angr,需要的朋友可以参考下
    2022-11-11
  • 一篇文章理解阻塞、非阻塞、同步、异步

    一篇文章理解阻塞、非阻塞、同步、异步

    这篇文章主要介绍了阻塞、非阻塞、同步、异步的意义以及他们之间存在的区别,该如何学会他们,文中讲解的很细致,需要的小伙伴可以自己看一下
    2021-08-08
  • 微信支付、支付宝支付等常用第三方支付通道接口手续费对比

    微信支付、支付宝支付等常用第三方支付通道接口手续费对比

    微信支付、支付宝等第三方支付,需要和银联、网联对接,有清算机构和银行的交易处理通道成本。费率指支付手续费的费率,不同行业、不同的支付平台、不同的支付额度或次数所对应的通道费率是不一样的。
    2023-01-01
  • 十六进制、十进制、八进制、二进制常用进制转换

    十六进制、十进制、八进制、二进制常用进制转换

    进制就是进制位,常用的进制包括:二进制、八进制、十进制与十六进制,区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。这篇文章主要介绍了十六进制、十进制、八进制、二进制常用进制转换,需要的朋友可以参考下
    2022-12-12

最新评论