量子位 发表于 2019-5-26 11:50:03

“最好的语言”PHP过期了吗?

晓查 乾明 发自 凹非寺
量子位 报道 | 公众号 QbitAI
当下,如果你打开搜索引擎,搜索关键词“PHP过时”,能找到714万个相干结果。
https://p1.pstatp.com/large/pgc-image/56630d525e8d4b968957a7387776d514
这些结果之中,不乏有2016年、2018年的结果,说PHP已颠末时了。
现已2019年,这个曾经自称为“世界上最好的语言”PHP,情况怎样?
一位名叫Brent的程序员小哥,写了一篇博客文章,介绍了PHP在2019年的情况。
他说,如今的PHP每年都会积极开发新版本,从2004年发布PHP 5以来性能已经提拔了两到三倍。
而且,有很活泼的生态系统,里面有各种各样的框架、包宁静台。过去几年,PHP也添了很多新功能,语言不停发展等等。
他希望,大家都放弃偏见,重新认识下如今的PHP。
https://p1.pstatp.com/large/pgc-image/a7096d09022043849f5f0478e0cecbf2
博客文章被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时,性能提拔了两到三倍。
https://p9.pstatp.com/large/pgc-image/f0b728b3bae64016a6822087cbac41dc
在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的主要软件包的存储库。
https://p1.pstatp.com/large/pgc-image/e15da3e579ed41a6ac12c2d35b1874cf
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才被答应进入焦点。
https://p3.pstatp.com/large/pgc-image/91a5383534954fcba8901cc4e2f18955
约莫有100人答应到场投票。焦点团队的成员固然有权投票,由于他们必须维护代码基础。
除此之外,还有一群人是从PHP社区中单独挑选出来的。这些人包括PHP文档的维护者,整个PHP项目标贡献者,以及PHP社区中良好的开发人员。
虽然大部分焦点开发是在志愿的基础上完成的,但是焦点PHP开发人员之一Nikita Popov近来加入了软件公司JetBrains,全职从事编程语言工作。
另一个例子是近来决定投资Zend框架的Linux基金会。像这样的雇佣方式和收购确保了PHP未来发展的稳定性。
静态分析工具

过去几年里,围绕PHP本身的工具已经有所增加,比如由Vimeo开发的静态分析工具Psalm等等。
这些工具可以大概对你的PHP代码举行静态分析,并报告此中出现的错误以及可能会出现的错误。
https://p1.pstatp.com/large/pgc-image/6f5c1291a2ac4a719f58b5d3ceed586d
尽管PHP还没有被编译,不答应使用自定义语法,但在某种程度上,它们提供的功能可以大概媲美TypeScript。
这意味着,如今的PHP开发者要依靠文档块。但PHP的原始创建者Rasmus Lerdorf,已经明确提到了要在内核中添加静态分析引擎。这一想法的潜力很大,但任务同样艰巨。
在传输方面,受到JavaScript社区的开导,PHP开发者社区已经在努力的拓展PHP语法。比如一个名为Pre的项目,可以把新的PHP语法转换成普通的PHP代码。
这个想法虽然已经在JavaScript世界中得到了证实,但是只有在提供了适当的集成开发环境和静态分析支持的情况下,它才能在PHP中发挥作用。
尽管这是一个非常有趣的想法,但是在可以大概称之为“主流”之前,它还有很长的路要走。
PHP已颠末时了吗?

再次把话题回到开头提出的问题上,PHP已颠末时了吗?
除了上面的一些动态,还有一份报告可以参考。
客岁10月,GitHub发布2018年的年度报告。在热门编程语言中,PHP排名第四。
https://p1.pstatp.com/large/pgc-image/7b4e1f2b5bb84afe8952e6d8a88da35e
虽然比不上JavaScript、Java,后来又被Python凌驾,但仍旧比C++、C#等语言热度要高。
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。等待有才气、有热情的同学加入我们!相干细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
''追踪AI技术和产品新动态

用户113823881 发表于 2019-5-27 16:56:50

除了做个网页还能做什么?

码上搜 发表于 2019-5-26 13:17:21

什么沙雕语言,过家家的需要
页: [1]
查看完整版本: “最好的语言”PHP过期了吗?