晓查 乾明 发自 凹非寺 量子位 报告 | 公众号 QbitAI当下,倘若你打开搜索引擎,搜索关键词“PHP过时”,能找到714万个关联结果。
这些结果之中,不乏有2016年、2018年的结果,说PHP已然过时了。
现已2019年,这个曾经自叫作为“世界上最好的语言”PHP,状况怎样?
一位名叫Brent的程序员小哥,写了一篇博客文案,介绍了PHP在2019年的状况。
他说,此刻的PHP每年都会积极研发新版本,从2004年发布PHP 5败兴性能已然提高了两到三倍。
况且,有很活跃的生态系统,里面有各样各样的框架、包和平台。过去几年,PHP亦添了非常多新功能,语言持续发展等等。
他期盼,大众都放弃偏见,重新认识下此刻的PHP。
博客文案被po到HackerNews上之后,半天就有700多热度,导致近400条讨论。
有人暗示,自己还是不爱好PHP的代码和架构,由于代码很难看,还是围绕着静态办法构建的,不易阅读。
亦有人给点了赞,说从生态系统、性能、语言本身上来看,PHP这几年的发展的确不错。
那样,PHP此刻到底怎样呢?来一块瞧瞧。
PHP的性能:7.0版本提高两到三倍
此刻,PHP已然更新到了7.3版本,2019年底将会跟新7.4版本,之后会升级到8.0版本。
小哥暗示,PHP5.0版本在2004年发布的时候,它的性能就已然达到了平均水平。在升级到7.0版本的时候,又从头起始重写了一遍核心部分,运行WordPress 5.0时,性能提高了两到三倍。
在Web应用程序中,PHP与其他语言亦有可比性,在某些状况下性能表现还更好。
虽然与C和Rust相比,PHP还是略逊一筹,但比Rails或Django要好得多,性能亦比得上ExpressJS。
框架和生态系统:不仅是WordPress
在HackerNews的讨论中,非常多人都说到,由于WordPress的存在才让PHP有了些存在感。
但小哥在博客中说,WordPress绝不可表率PHP当前的生态系统。
通常来讲,PHP中有两个重点的Web应用程序框架,分别是Symfony和Laravel。此刻运用PHP做研发,基本上都会选取其中的一个。
这两个框架背面,都有一个庞大的包和制品生态系统,从管理面板和CRM到独立软件包,分析工具,支付集成等等。
虽然这些框架适用于实质研发,但倘若只需要进行内容管理,WordPress和CraftCMS是更好的选取,况且它们亦会进一步改进。
另外,衡量PHP生态系统当前状态的一种办法是看Packagist中的状况,这是PHP的重点软件包的存储库。
PHP重点软件包近年来已呈指数级增长,每日下载量达到2500万次。这足以证明,PHP生态系统已然远非昔日可比。
除了应用程序框架和CMS之外,过去几年PHP中的异步框架亦起始兴起,例如Swoole、Amp和ReactPHP等等,都是用PHP或其他语言编写的框架和服务器,能够让用户运行真正的异步PHP。
此刻, PHP已然进入了异步世界,像WebSocket和拥有海量输入输出的应用程序之类的东西,已然起始与PHP世界关联了。
语言本身
尽管async和await此刻还不可用,但在过去的几年里,PHP语言本身已然做了非常多改进。下面是一个不完全的PHP新特性列表:
短闭包
Null合并运算符
Traits代码复用机制
类型化属性
展开运算符
JIT编译器
外边函数接口
匿名类
返回类型声明
现代加密库
生成器
更加多
当谈到PHP语言特性的时候,让咱们亦来瞧瞧今天PHP语言是怎样发展的。PHP有一个活跃的志愿者核心团队推动语言的发展,向社区征求意见(RFC,Request for Comments)。
接下来,这些RFC在“内部”邮件列表中讨论,亦能够在线浏览。在添加新的功能之前,必须进行投票。仅有最少占2/3都数的RFC才被准许进入核心。
大大概100人准许参与投票。核心团队的成员当然有权投票,由于她们必须守护代码基本。
除此之外,还有一群人是从PHP社区中单独挑选出来的。这些人包含PHP文档的守护者,全部PHP项目的贡献者,以及PHP社区中杰出的研发人员。
虽然大部分核心研发是在自愿的基本上完成的,然则核心PHP研发人员之一Nikita Popov近期加入了软件机构JetBrains,全职从事编程语言工作。
另一个例子是近期决定投资Zend框架的Linux基金会。像这般的雇佣方式和收购保证了PHP将来发展的稳定性。
静态分析工具
过去几年里,围绕PHP本身的工具已然有所增多,例如由Vimeo研发的静态分析工具Psalm等等。
这些工具能够对你的PHP代码进行静态分析,并报告其中显现的错误以及可能会显现的错误。
尽管PHP还无被编译,不准许运用自定义语法,但在某种程度上,它们供给的功能能够媲美TypeScript。
这寓意着,此刻的PHP研发者要依赖文档块。但PHP的原始创建者Rasmus Lerdorf,已然知道说到了要在内核中添加静态分析引擎。这一想法的潜能很大,但任务一样艰巨。
在传输方面,受到JavaScript社区的启发,PHP研发者社区已然在奋斗的拓展PHP语法。例如一个名为Pre的项目,能够把新的PHP语法转换成普通的PHP代码。
这个想法虽然已然在JavaScript世界中得到了证明,然则仅有在供给了适当的集成研发环境和静态分析支持的状况下,它才可在PHP中发挥功效。
尽管这是一个非常有趣的想法,然则在能够叫作之为“主流”之前,它还有很长的路要走。
PHP已然过时了吗?
再次把专题回到开头提出的问题上,PHP已然过时了吗?
除了上面的有些动态,还有一份报告能够参考。
去年10月,GitHub发布2018年的年度报告。在热门编程语言中,PHP排名第四。
虽然比不上JavaScript、Java,后来又被Python超过,但依旧比C++、C#等语言热度要高。
— 完 —
小程序|get更加多AI学习干货
加入社群
量子位AI社群起始招募啦,量子位社群分:AI讨论群、AI+行业群、AI技术群;
欢迎对AI感兴趣的朋友,在量子位公众号(QbitAI)对话界面回复关键字“微X群”,获取入群方式。(技术群与AI+行业群需经过审核,审核较严,敬请谅解)
量子位 QbitAI · 头条号签约作者
վᴗ ի 跟踪AI技术和制品新动态
爱好就点「在看」吧 !
|