至少国内不用谈 Python 和 RoR(在国外这两者在 Web 开发上的占有率也不及 PHP),Python 程序员的重心已转大数据、人工智能了, RoR 至少在国内一直不温不火,在程序员的招聘上比 PHP 要难很多。
nodejs 曾经被认为是 PHP 的最大对手,一个很大的原因是人们认为如果一个公司使用 nodejs 作为后端语言,那么他只需要一样技术栈(前后端都是 js 程序员,而 js 程序员和 PHP 一样一抓一大把),体现了莫大的成本优势。但事实是 nodejs 并没有对 PHP 造成根本威胁,未来也不太可能会,原因是持上面观点的人认为统一技术栈就一定能节约成本,但这是个伪命题。一门语言具有解决某个问题的能力不代表人们就一定会拿它去解决问题,就好比 PHP 也能进行 socket 编程,但很少公司在生产环境大规模使用 PHP 编写服务器。js 天生就是 Web 前端语言,因而绝大部分 js 程序员都是一直做前端开发的,而前端开发和后端开发模式上有很大不同。前端在很长一段时间都是面向 DOM 编程,即使是有了模块化、React 这些新玩法后,前端开发的重心仍然是事件驱动的交互式编程。后端开发的重心在于建模(即使不对业务进行对象建模,也至少需要面向数据库进行数据建模)以及业务逻辑的实现,做后端开发,数据库、Linux 服务器是绕不开的,而这两者恰恰是大部分前端程序员所缺乏的(换句话说,要招一个既很熟悉前端开发又很熟悉后端开发的 js 程序员是非常难的)。结果就是,招一个 js 程序员用 nodejs 开发后端系统,其成本远大于招一个 PHPer。
因而,PHP 在未来可预见的很长时期内不会没落,它会作为中小公司的快速原型语言和大公司的粘合层语言长期存在。
另一个结论是:Python、Ruby On Rails、nodejs 这些语言虽然不会对 PHP 造成根本威胁,但会跟 PHP 一同在 Web 开发领域长期存在————因为它们的源动力是相同的,而 PHP 相对于它们的优势又不足以完全抹杀掉它们的存在。
总结:
最后,我将上面的分析总结成四个论断:
论断一:PHP 在移动互联网到来之前出现过黄金时期,如今辉煌不再;
论断二:PHP 在未来可预见的很长时期内不会没落;
论断三:后黄金时代 PHP 的定位:中小公司的快速原型语言以及大公司的中间粘合层语言;
论断四:PHP7 和 Swoole 让 PHP 在和其他同层级语言(如 Python、RoR、nodejs)的竞争中保持优势,但无法给 PHP 带来根本的变化(无法改变 PHP 的定位);