撰稿 | 如烟
出品 | 51CTO技术栈(微X号:blog51cto)
“PHP是世界上最好的语言”,已作为承载程序员黑色幽默的热梗。这门有着三十年历史的编程语言在web时代独享高光,近些年亦伴同着“没落”、“将亡”的论调艰难前行。
近期 GitHut 最新颁布的数据表示,研发者在 GitHub 提交的 PR 中,所运用语言为 PHP 的数量逐年下降。
照片
照片
细看图表中的曲线不难发掘,过去 4 年,C、C++、Java、Ruby 的曲线都比 PHP 的平坦。因此呢有人直言:“2023 年,PHP 停滞不前”!
网友们的评论亦是五花八门,有人并不看好PHP的发展:“非常多系统已然再也不支持它,我认为这很能说明问题”;还有人认为PHP不会凉凉:“40% 的网站仍在运用 Wordpress,因此呢 PHP 仍将存在一段时间。”
PHP 陷入停滞的原由是什么?是不是真的大势已去,没法重现当年风采?
1、Web时代,得PHP得天下
PHP做为服务器端脚本语言的开山鼻祖,在2000年-2010年经历了最荣耀的十年,亦确实叫作得上是“世界上最好的语言”。
当时包含淘宝、雅虎、外链论坛: http://www.fok120.com在内的80%的网站都用PHP研发,倘若听说哪家互联网机构的后台不消PHP,都会觉得匪夷所思。
PHP应Web而生,回顾互联网的发展史,就不难理解PHP盛行的原由。
Web 1.0时代,互联网内容重点由网站自己生产,用户亦只能经过桌面浏览器上网查看内容,这个周期的业务形态比较简单,单体应用足以应付,不存在高并发等性能问题。上手简单、研发快速的优良让PHP变得炙手可热。
进入Web 2.0时代,随着论坛、博客的显现,用户亦能参与到内容创建中来,引起网站服务器面临前所未有的流量挑战。此时的PHP显出有些力不从心,但有大机构对其性能优化的加持,如社交软件Facebook推出了用于执行PHP代码的虚拟机HipHop VM,PHP的地位依然无被撼动。
在这两个黄金时代,PHP+MySQL的“黄金组合”造就了非常多经典的开源项目:WordPress、ecshop、Discuz! 等。
2、PHP走下“神坛”,优良变桎梏
彻底结束掉 PHP “黄金时代”的是移动互联网的到来。
在万物成网的背景下,单体架构已没法满足繁杂业务群高并发、高可用的系统需要,于是微服务应运而生。业务的多样化、繁杂化亦触碰到了PHP的瓶颈。一方面PHP的性能成为了致命问题,另一方面其方便的机制因没法满足新的场景需要,反倒成为了桎梏。
微服务的显现对PHP有那些影响呢?
一是微服务要轻量化,传统的PHP架构并不满足需求。
二是服务要被多个业务端调用,运行要足够快;但PHP做为脚本语言,因为存在脚本解析消耗,运行速度确实赶不上 java、C++ 等静态语言。
三是为了满足服务间的频繁通信,通信协议必须有效,这般一来非常多机构倾向于运用RPC协议而非HTTP协议,但PHP架构并不可很好地应用RPC通信的优良。
四是微服务要有较为成熟的生态和框架支持,但Swoole的微服务生态并不成熟。
综合来看,大部分机构进行服务化时,会选择主流静态语言(java、C++ 以及后起之秀 golang 等)。PHP 的“C位”不保,更加多用来研发中间的业务聚合系统来调用这些服务。
3、新版本的发布能让PHP重回巅峰吗?
为了适应当今的研发需要,PHP团队始终在奋斗推动语言的现代化改进。
近期,PHP 8.3 的推出,添加了“类常量显式类型”、“只读属性深拷贝”,“以及对随机性功能的弥补”,这一系列的改进不仅让PHP更具竞争力,亦使得它更适应当今繁杂的应用场景,但亦许并不可带PHP重现高光时刻。
重点原由来自编程语言生态系统中的重要角色——研发者群体。
PHP的“简单、强大、实用”,能够让研发人员专心面对业务,但这般却有害于研发人员的成长。绝大部分的 PHPer 都是业务工程师,不认识设计模式、数据结构、算法、计算机原理,没法胜任繁杂的系统架构。
有网友曾吐槽:PHP性能并非最大的问题,PHPer的水平才是合作过程中最让人“咬牙切齿”的槽点。大都数PHPer写了数年代码亦不会封装,分不清变量类型,乃至连自己的代码亦讲不明白。
这亦许才是PHP 生态发展中最致命的原因。
新版本的推出虽然弥补了语言自己的短板,却弥补不了生态中非语言部分的缺陷。既然 PHP 生态在处理繁杂系统问题时不具备优良,机构就会选取其它更具优良的语言,自此便形成循环,PHP难回巅峰。
4、PHP尚能饭否?
语言无最好的,无论是PHP,GO,Java,都有自己的定位,而 PHP恰好是PC Web时代最适合快速研发Web站点的。
随着技术的高速发展,新的编程语言、框架如雨后春笋般冒出,可能火速就会改变现有格局,但这并不寓意着曾经的王者就会永远地黯然失色。
首要,PHP日前依然是全世界最流行的服务器端脚本语言之一。来自 W3Techs 的数据表示,WordPress 在43%的网站上运行,服务器端编程语言的网站中有 76.7% 都在运用 PHP。
其次,PHP针对处理Web请求和生成动态内容拥有天然的优良,其简单、灵活的特性,尤其适合业务、系统相对简单,无需服务化、对性能不敏锐、需要快速迭代的场景,作为许多初创机构和中小企业的首选研发语言;另一,大机构在发展初期,海量项目都采用PHP做为核心语言,为了适应业务的发展,会将单体项目中的某些核心功能拆解成服务,单体项目调用后端服务接口,这种状况下,PHP 项目就成为了粘合层。
最后,PHP有庞大的社区支持。社区的强大寓意着有海量的开源工具、框架和库可供选取,同期亦寓意着问题的处理方法更易得到。
总之,PHP 在将来可预见的很长时期内不会没落,它会做为中小机构的快速原型语言和大机构的粘合层语言长时间存在,迎来属于它的“后黄金时代”。
参考链接:
https://www.reddit.com/r/programming/comments/18hgduc/github_says_php_is_the_most_stagnating_language/
https://zhuanlan.zhihu.com/p/667402970
https://www.zhihu.com/question/442641007/answer/1726044472
https://baijiahao.baidu.com/s?id=1783339298344382156
源自: 51CTO技术栈
|