在各类交流群,甚至多数老一辈程序员的眼里,认为 PHP 是「轻量的」、「不完善的」、「性能难以优化」的,而这么多年来一直坚挺的 Java 却成了开发「XX 系统」的后端首选语言。为此,本篇文章将尽量从非技术角度告诉大家:Why PHP?
现状
其实,从 Java 和 PHP 的历史不难看出。在 Java 开始盛行的年代,PHP 还是个“毛头小子”,只是个普普通通的脚本语言罢了,甚至连面向对象的基本概念——类,都没有支持。
鉴于 PHP 历代升级以来坚守的向下兼容性,至今还可以看到不少用「当年的」原生函数写出来的产品代码可以运行,透过命名规则我们也可以看出当年的 PHP,好像的确「不够完善」。
在国网、公安都开始顺着势头数字化,建立内部专网,提倡信息化办公的零几年,急需要一批“专业程序员”开发各类“专业化”的系统。而在那个年代:PHP 的确「十分轻量」;Nginx 还没有诞生;国内 C++ 几乎是清一色的 VC6,学习、开发难度都很大;所以,JAVA 成了不二之选。
而那也是 JAVA 最盛行的年代吧,当然,后来安卓机的爆发又给了 JAVA 第二次蓬勃发展的机会。
而现如今,PHP 一个接一个的新特性、新框架我想不必再多列举。那些当年开发这类系统的程序员,多数已经迈入 40+ 的步伐,没有足够的动力再去学习日新月异的新技术;至于在公司带出来的新人,自然也是选用此类技术栈。以至于目前内网应用,绝大多数依然是 JAVA 的天下。
目前嘉兴的 IT 行业环境,我想大家应该都懂。大批的一线城市程序员回到自己的老家,而善于钻研、比较优秀的年轻人多数流失到了上杭。因此造成一种现状:我们的技术栈,大大落后于地理距离仅 100 公里外的上海。
团队
对于 PHP 来说,虽然经历了一次又一次的升级,但它简单易学、部署快捷的特性并没有因此减弱。
对于团队来说,若是选择 JAVA,或许我可以招到一大批从学校课程学出来的 JAVA 程序员,简历上如出一辙的「精通 C、C++、JAVA」,但他们真的热爱技术吗?真的喜欢探究吗?真的能主动扛起责任吗?真的能做出有灵魂的产品吗?
或许,在二三线城市看起来「另类」的语言(PHP)和框架(Laravel),反而能够帮我筛选出一批不错的人选。
没有最好,只有最合适
世界上任何事物都不会是完美的,语言也一样。虽然有人喊着「PHP 是世界上最好的语言」,我却从不认为会有任何一种语言能应对所有场景。就像前几年的大前端风潮,高呼「JS 大一统」的人,现在去哪了?
PHP 在多数网页后端的开发可以算得上如鱼得水,而手机端 API 的开发,也可以称得上应对自如,但它同样存在缺陷。
有人会抓住这些弱点不放,但我只想说:
PHP,你就只做好多数情况的常见后端开发场景就够了,我们不需要你全能,但你要做精,做强。
你不擅长的高并发、多线程、Socket,有成千上万更完美的解决方案,Node.js / Golang / .NET Core,负载均衡、任务队列、Swoole……
更何况,对于政务部门来说,需要做到多大才会遇见如上场景?而有什么是多买台服务器解决不掉的呢?
如果有,那就两台。
END
我看好 PHP 在网页后端领域的发展前景,我相信它是足以应对,甚至绰绰有余的。
最后留给大家一个问题:为什么本篇文章最初就没有选择从技术角度去考量对比?
欢迎大佬交流。