PHP和Python性能比较:放弃PHP改用Python

来源:程序员人生 发布时间:2014-05-27 16:31:25 阅读次数:1367次

本文作者作为一名从事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。

生活不易,码农辛苦

如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠

php和python对比-PHP和Python性能比较:放弃PHP改用Python相关推荐

  1. php和python-PHP和Python性能比较:放弃PHP改用Python

    PHP和Python性能比较:放弃PHP改用Python 来源:程序员人生 发布时间:2014-05-27 16:31:25 阅读次数:1364次 本文作者作为一名从事PHP开发11年的资深开发者,却 ...

  2. python与php性能比较_PHP和Python性能比较:放弃PHP改用Python

    本文作者作为一名从事PHP开发11年的资深开发者,却放弃了PHP而改用Python.借助本文,作者与其说是解释了他做出这种选择的原因,不如说是他对 PHP和Python两种语言的性能进行了比较.以下是 ...

  3. 利用python 对比相似度_牛逼了,利用Python实现“天眼系统”,只要照片就能了解个人信息...

    前言 在有一些电影里面,特别是科幻高科技电影里面经常出现的一幕,获得某人的照片然后进行各种数据对比,然后找出这个人的个人信息:姓名.年龄.性别.工作等等. 理论上:你可以建立一个你感兴趣的百万级的数据 ...

  4. python可以代替php吗_PHP资深开发者谈:缘何放弃PHP改用Python

    [51CTO编者按]通览全文,作者是想通过两种语言在性能方面的比较,从而解释他为何选择放弃PHP.但我们只看到了PHP的缺点与Python的优点,这样比较是不客观的.其实不光编程语言,任何事物都有它的 ...

  5. python 对比matlab_全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    原标题:全面对比 MATLAB.Julia.Python,谁在科学计算中更胜一筹? 数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.P ...

  6. r语言python对比_Python和R语言之分析对比

    在Python中调用R或在R中调用Python,为什么是"和"而不是"或"? 在互联网中,关于"R和Python"的文章,排名前十的搜索结果 ...

  7. 【python量化】大幅提升预测性能,将NSTransformer用于股价预测

    写在前面 NSTransformer模型来自NIPS 2022的一篇paper<Non-stationary Transformers: Exploring the Stationarity i ...

  8. java和python对比

    对比java和python 1.难易度而言.python远远简单于java. 2.开发速度.Python远优于java 3.运行速度.java远优于标准python,pypy和cython可以追赶ja ...

  9. php和python对比-python与java、php、go的优势对比

    看来关心这个问题的人比较多, 这里就重点细说一下: 首先在讲解python的优势之前, 大家需要先将这里的语言进行一个分类, 这里我们按照动态语言和静态语言来分类: 动态语言: python, jav ...

最新文章

  1. Linux内核分析——第五章 系统调用
  2. qstring 属于元数据类型吗_2020年退休养老金只有1800元,属于什么水平?还要继续工作吗?...
  3. IOS学习之IOS沙盒(sandbox)机制和文件操作之NSFileManager(三)
  4. 如何让VB6代码编辑器垂直滚动条随鼠标滚轮滚动
  5. Efficient Graph-Based Image Segmentation
  6. 目标指令c语言是什么,什么是C中的目标文件?
  7. Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)
  8. 微信小程序 获取授权信息详解
  9. Java 设计模式 Day1 之面向抽象原则:抽象(abstract)类的设计与应用分析
  10. 知乎高赞:Serverless 能取代微服务吗?
  11. rsync常用参数组合
  12. java 实现内存数据表_数据结构 Java中的内存
  13. 【Vue】—Vue组件基本介绍
  14. 【转】HttpCompress
  15. C++ typename 的双重含义
  16. visio2013报错1706最新解决方法
  17. 三种方法求解Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1,当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
  18. python f检验 模型拟合度_模型评估指标(RMSE、MSE、MAE、R2准确率、召回率、F1、ROC曲线、AUC曲线、PR曲线)...
  19. 三相全桥整流电路_三相桥式全控整流电路的工作原理
  20. 强化学习6——policy gradient的优化( Use temporal causality,Baseline and Critic)

热门文章

  1. 个性化选修——软件工程相关笔记
  2. 运维笔记10 (Linux软件的安装与管理(rpm,yum))
  3. java中线程切换的开销
  4. erlang r19里面的mnesia_ext
  5. JSP session过期时间(小记)
  6. 【浙大网新图灵通讯】无废话简单高效C#编码规范20100611
  7. C#的参数类型:params、out和ref
  8. 2.03-handler_openner
  9. window document树
  10. “耐撕”团队2016.04.12站立会议