小编是个胆小的人,四五年前,他们都在说python,连前台小姐姐都知道python是干啥的,说将来python将统治一切语言,是什么人工智能、大数据的基础,那阵子,我将近大半年没敢看她的朋友圈。

这两年,好像大家不怎么提python了,但是又提go了,我跟一个前端小姐姐相亲,她都问:“你会go吗?听说那个高薪”,吓得我赶紧说“公司临时有事,我先go了啊”

最近又手贱,在国内某视频平台里搜了下PHP,看到好几个“小哥哥”在讲《php已经死了》、《不要学php了,找不到工作》,吓得我好几天手抖没抢到菜...

我决定自己调查调查,撸一撸数据:

file

基于W3Tech的调查数据,到22年5月16日,PHP依然占据着77.4%的服务器端编程语言份额,我看了看python和Java的份额,略微宽心了些。但是又一想,不对,go呢?这上面怎么没有go呢?

file

哦,原来go、C、C++在网站中的使用,都小于0.1%啊。

既然php还能占据着大概七八十的份额,意味着10个网站里,有七八个用的php,那暂时不需要恐慌嘛。基于W3Tech,这个专门调查web技术的网站,前几年php的份额更高,这几年确实一直在下降,但即使以目前速度下降,也需要25年以上的时间,php的份额,才能降到50%以下。嗯,其实小编要求不高,50%的话,也很满足的,看来我孙子依然有希望传承PHP嘛。

而且php既然长期“统治”着web语言,随着互联网的发展,越来越多的语言层出不穷,它们势必要挤占一些份额,制造一些noise,“争取”成为下一个“大象”。尤其是一些新语言,新流行起来的趋势或实践,它们本就一穷二白,本就没出生几天,突然一下子攻城略地、威风凛凛,好似马上整个世界都是它的了。但是这阵“风”,能刮多久,就要看实践的检验了。大概率,它们会逐渐在喧嚣中找到自己的定位和擅长领域,会在编程语言中占有一席之地,但未必就是在web领域。因为基于php而构建和发展起来的web编程生态,经过这么多年的发展,实际上是非常庞大的,单凭某个新的语言,一下子就把那么多的生态和好的实践,都搬运过去,而且能够不断有更好的做法,否则也没人乐意费劲迁移,这几乎是不太可能的。就像python在数据分析领域的优势,C类语言在系统应用方面的优势,都不是短期内某种新语言、新流行就能撼动的。

作为PHP的开发者,其实我们应该抱持一种开放的心态,欢迎各种新语言、新实践都往web领域来,看看它们能提供怎样更好的方式,亦或只不过是自找麻烦、强行造轮子。如果它们的新做法更好,那么我们php就可以学、可以引用,如果它们的新做法更麻烦、纯粹是自找麻烦,那么我们就可以更加自信,这方面这几年也有很多例子。语言和框架,毕竟只是一种工具,不能有了把锤子,就把所有东西都当钉子,都去满世界锤,指望一种工具就胜任所有的工作,也非常不现实。

记得C++的创建者Bjarne Stroustrup有句名言:

There are only two kinds of languages: the ones people complain about and the ones nobody uses. 只有两种语言:大家都在抱怨的,和没人使用的。

PHP在web领域的使用率、占有率这么高,大家各种抱怨,发现各种问题,进行各种推陈出新,实属正常,哪天没人“唱衰”php,那或许我们才真正该担心了。

实际上,对于真正深度使用PHP的小伙伴们来讲,我想大家肯定不会觉得PHP已死,反而这几年会对php越来越有信心,因为它不断地在自我发展、自我革新:

  • php原本只是个脚本语言,只是用来给网页套模板用的,现在越来越成为一个严肃的编程语言,越来越多的后端系统、内部系统、平台系统在用php支撑
  • php原来挺慢的,但是自打php 7以来,它变得很快,它的速度可以是python的三倍,借助某些扩展,可以跟C媲美
  • php原来没有异步、协程等功能,但是我们有不少的第三方异步库,比如swoole、ReactPHP、amp等,近期PHP 8.1还提出了Fibers的概念,预期将来在异步和协程方面,会给php带来更多原生的潜力
  • 原来PHP可以说就是一个web语言,大家日常接触的,大都要么是CMS,要么是Web框架,现在php 8有了JIT即时编译,代码可以不经过Zend虚拟机解释,直接在CPU上运行,这就为直接进行cpu密集型运算打开了空间,也许将来人工智能、大数据、机器学习啥的,PHP也都可以掺和一脚呢,who knows
  • 原来大家抱怨php代码容易写的乱、不规范,但是现在有了代表各方面最佳实践的PSR规范,以及大量遵循PSR的web 框架,比如最知名的是laravel 和 Symfony,规范不再是个问题了,尤以laravel为例,大家都在追逐的是简洁、优雅、可读性高的代码时尚,连IT时尚界的女王——苹果公司都在使用laravel了
  • php的维护、更新、版本迭代,现在更加稳定和快速,现在是一年一个版本,每年都会引入不少前沿实践,令大家越来越有希望和欣喜。同样的,那些继承了PHP优良实践的Web框架们,比如laravel、Symfony等,也都在快速演进,不断让phper的日常开发变得更高效、更愉悦,这种体验是那些其他新出的语言框架所不可能具备的。

十年前,依稀记得每个人都在说.NET死了,那个时候很多学了.NET的小伙伴,出了学校,根本没人要,但是这几年呢?十来年过来了,.NET发展的也蛮好,又被微软救活了。

大概也是十年前,当时JS只是个“下脚料”,给客户的网页里加几行JS代码、加点JQery效果,他们就兴奋的不得了,当时觉得JS和AJAX也就那样了,但是现在呢?似乎JS要统治前端了呢,似乎任何页面,没用上react、vue就不够先进了呢。(题外话:关于这一点,业界今年也有反思,比如在今年JS的峰会上,就有人提出过度依赖各种JS框架及实践的反思,他用上了各种前沿的JS技巧、编译实践、SSR什么的,都搞不过最简单的HTML页面。无独有偶,在今年的laravel线上峰会,欧洲的一个搞车企应用的小伙伴也分享,讲他们并不用什么vue之类的前端框架,就是用最原始的Blade模板,也能稳定的实现500万以上的每日访问)

在Web领域,尤其是web后端编程,PHP在未来的可预见时期里,将依然占据着起码半壁以上的江山。说某个语言死与不死,其实是没有什么意义的,任何的语言,其对我们自身的意义大小,其实更多取决于我们对这个语言的掌握程度——你对某个语言掌握的越好,越会知道其真正的价值,越不会左顾右盼,甚至你会同时掌握好几种语言,而不会鄙视或担忧它们其中的任何一个。往往,只有初学者,还没有彻底掌握好某一种语言,没有形成真正的主见,就容易受各种喧嚣影响,容易去追逐可能短暂的编程“潮流”。

末了,不管咱们小伙伴是在学哪个语言、从事哪个语言的实际工作,都希望大家脚踏实地、立足长远、深耕细琢、摒弃喧嚣,语言只是个工具,能用的起来、钻的进去、撸的愉悦的,对你来说就是好语言,就好好折腾即可。Long Live PHP,Long Live every Language。