当前位置:首页 > Web开发 > 正文

不会对我们现有或未来的应用程序产生任何影响

2024-03-31 Web开发

犹记得,据 2001 年 7 月的 PHP 官方文档描述,“PHP 是有史以来最好的语言,没有之一。它快速,非常强大,而且免费。”不过,跟着时间的迭代,不少开发者发明所谓世界上最好的语言 PHP,虽然能极大地提升性能,但是其成果不够完善最终导致 PHP 开始走上了下坡路,对此,你怎么看?

技术图片

作者 | Italo Baeza

译者 | 孙薇,责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下为译文:

自Wordpress、Drupal、CakePHP、Laravel、Symfony及许多其他的Web应用措施走上舞台以来,人们发明语言措施的创建如此简单,似乎也让语言呈现了某种类似二次再起的迹象。虚拟主机Web hosting再加上PHP + MySQL + Apache仓库,就像野火一般迅速蔓延,俄然每小我私家都在十分钟里建起了本身的网站:博客、购物车、相册等等,包罗万象。

PHP的撑持者们乐于致力改进这门语言,最终他们告成了——迟钝的老版本逐渐被替换失,PHP 7在性能和成果方面都更优,PHP 8甚至还撑持JIT引擎。

但我认为,之后PHP会慢慢消掉,甚至完全被裁减。按照官宣,PHP 8的独一主要成果就是JIT引擎——在CPU受限的场景中能提高性能,但也仅此而已,,其他更新微不敷道,不会对我们现有或未来的应用措施孕育产生任何影响。

性能不会成为致命的问题,但成果缺乏才是问题。

技术图片

暂时的胜利,最终的掉败

在PHP5袒露问题(慢、依赖混乱、成果缺乏)的同时,Ruby、Python、Node.JS和Go都开始受到公共存眷。Go呈现得对照晚,但无论如何,我们可以看到这些语言的用途:

Websockets

非梗阻IO

Promises实现(即“在我执行其他任务时,完成此项任务”)

更佳的数据流

本地处事器部署

桌面/移动应用的用法

更洁净的配置(如php.ini)

软件承打点(后由Composer修复)

这些新成果除了composer,全都不包孕在PHP的核心成果中,甚至宣传和打算中都不涵盖。根基上,官方是让PHP社区自行定夺要本身做这些成果,还是爽性放弃了事。

你可能会说,这些成果并非各个项目必须的,其可用性要取决于具体情况,这话没错,但要实现上述成果,我们必需要选择是用非官方的措施包,还是本身做一个。

举个例子,我们看一下WebSockets:必需在Ratchet、Swoole、Amp和React中作出选择。这意味着,针对关键性成果,作为开发人员,我们不单要确保遵守措施包的相关文档,保证措施包的可维护性,还要存眷PHP的版本更新情况,才华保证不出问题。我可以想象,PHP8呈现时,要在新版本上不变下来,需要花费数周乃至数月的时间。

Swoole的案例是可以再讨论的。目前开发者可能不太热衷于使用这个麻烦缠身的软件,尤其是考虑到语言障碍的问题,但如果想要进一步研究的话,可以点击这里检察开源代码。

虽然近来,人们的存眷点有些偏移向语言自己添加某些helper和命令,但这些helper要领的混乱也是多年来不曾解决的问题:ucfirst, strtolower, str_replace…我们为什么不能在使用统一定名上达成一致?为什么直到今日,仍然没有人能从数组中提取一些键?

回到重点,不要误会我阻挡使用第三方措施包,但我但愿卖力PHP自己的人员比随机的公司拥有更多的可维护性。

而且别让我用台式机或者移动应用措施。PHP是一种面向Web的语言,大大都开发者都默认这一点,但即便Node.JS被逐出了市场,PHP也不会有但愿成为相应生态系统中的替代品。

具体到Node.JS的案例中,很大可能JavaScript编写的部分处事器代码模块是可以重用在之前的移动或桌面应用中的。对公司所有者而言,这意味着公司不必再雇佣另一个有其他语言经验的开发者了,除非收益大过本钱。

恐怕这就是我们将要面临的场所排场:

应用一开始用PHP代码库开发;

打点者索要新成果;

某个其他语言会填充PHP不供给的成果区;

最终开发者要使用两个生态系统。

同样,每种语言都有其特色和要警惕的问题,但我始终认为,一种语言要有服从性,能够让使用者完本钱身的任务,而不是让人亏损——如果不是为了PHP社区的利益,很难设想PHP会达成以上要求。

技术图片

未来严峻

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30798.html