PHP 可能在未来十年内消失?

2020 年 1 月 13 日 CSDN

犹记得,据 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编写的部分服务器代码模块是可以重用在之前的移动或桌面应用中的。对公司所有者而言,这意味着公司不必再雇佣另一个有其他语言经验的开发者了,除非收益大过成本。

恐怕这就是我们将要面临的局面:

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

  2. 管理者索要新功能;

  3. 某个其他语言会填充PHP不提供的功能区;

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

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


未来严峻


事实上,PHP8出现时会使用JIT编译器,但PHP背后没有核心开发者。而且Rogue Weave公司也更倾向于Zend Server,而非持续推动PHP核心Zend引擎的开发。这些功能可能永远无法实现,而且在这些问题列入考量时,Node.JS和Go等语言也已经拥有了更广阔的生态系统。 

据我了解,JIT编译器应当允许开发者使用纯PHP而不是C++来创建扩展套件,这样性能损耗较低,可能会让语言功能发展得更快些,但创建者所提供的支持和/或可维护性也是语言持续的保证,否则难说软件包维护者是否会像Predis那样选择退出。

综上,在我看来,功能匮乏将使得PHP慢慢消失,而其他语言则会继续向前发展。

原文:https://medium.com/@DarkGhostHunter/php-could-fade-away-in-the-next-decade-584e46d760db

本文为 CSDN 翻译,转载请注明来源出处。

热 文 推 荐 

苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布| 极客头条
软件开发需要学好数学吗?
12306 出招抢票软件,技术黄牛生意要“黄”?
铁打的春晚,流水的互联网公司
达摩院 2020 预测:模块化降低芯片设计门槛 | 问底中国 IT 技术演进

千万不要和程序员一起合租!

在调查过基于模型的强化学习方法后,我们得到这些结论

漫话:如何给女朋友解释为什么一到年底,部分网站就会出现日期混乱的现象?

你点的每个“在看”,我都认真当成了喜欢


登录查看更多
0

相关内容

PHP 是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入 HTML 文档的脚本语言,语言的风格有类似于 C 语言,被广泛的运用。PHP 具有非常强大的功能,所有的 CGI 的功能 PHP 都能实现,而且支持几乎所有流行的数据库以及操作系统。
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【Manning2020新书】Elm 实战,344页pdf,Elm in Action
专知会员服务
49+阅读 · 2020年4月14日
德勤:2020技术趋势报告,120页pdf
专知会员服务
190+阅读 · 2020年3月31日
吴恩达:AI未来将呈现四大发展趋势
AI100
6+阅读 · 2019年8月30日
重磅:git checkout 未来将消失
Python程序员
15+阅读 · 2019年8月22日
2020年你应该知道的8种前端JavaScript趋势和工具
前端之巅
5+阅读 · 2019年6月9日
告别2018,我的发文总结
余晟以为
3+阅读 · 2018年12月28日
鼠标终将消失,未来我们有哪些人机交互方式?
人工智能学家
5+阅读 · 2018年11月25日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
十五条有用的Golang编程经验
CSDN大数据
5+阅读 · 2017年8月7日
Arxiv
102+阅读 · 2020年3月4日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Arxiv
3+阅读 · 2018年10月11日
Paraphrase Generation with Deep Reinforcement Learning
VIP会员
相关资讯
吴恩达:AI未来将呈现四大发展趋势
AI100
6+阅读 · 2019年8月30日
重磅:git checkout 未来将消失
Python程序员
15+阅读 · 2019年8月22日
2020年你应该知道的8种前端JavaScript趋势和工具
前端之巅
5+阅读 · 2019年6月9日
告别2018,我的发文总结
余晟以为
3+阅读 · 2018年12月28日
鼠标终将消失,未来我们有哪些人机交互方式?
人工智能学家
5+阅读 · 2018年11月25日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
十五条有用的Golang编程经验
CSDN大数据
5+阅读 · 2017年8月7日
Top
微信扫码咨询专知VIP会员