PHP 还有未来么,还是 25 岁就“寿终正寝”了?

2022-12-23 0 716

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

译者 | BEN JAMES

翻译者 | Arvin,白眉林 | 夕颜

公司出品 | CSDN(ID:CSDNnews)

1995年6月,亚斯塞克·勒诺伊(Rasmus Lerdorf)在Usenet组成员中正式宣布发布了一则如下表所示报告书。报告书迄今还在,即时能写作。

报告书:正式宣布正式宣布发布Blog辅助工具(PHP辅助工具)1.0版。

那些辅助工具是几组用C撰写的轻巧紧凑型的cgi十进制文档。

那时,25年往后了,PHP早已基本上无所不在。我敢赌,对于责任编辑的绝大多数听众而言,她们对Web程式设计的首度试著均牵涉PHP。

但,不论PHP保有何等多样的发展史和广为的采用者此基础,都没理据在两个加速产业发展的应用领域中采用尖萼词汇。尽管PHP将无可避免地在原有的插件中再次出现数月,但它在新公交站点中还会有今后吗?

在蔗茅以后,他们要具体而言科学研究PHP在往后是怎样产业发展的。

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

发端

Rasmus Lerdorf最初创建PHP是为了追踪浏览过他在线简历的采用者。当源代码正式宣布发布后,代码库被大量重写,PHP就开始流行起来。据报道,到1998年,有1%的域名安装了PHP。那时的PHP完全写在<!– html comments –>标记中,语法明显不同于现代版。

Zeev Suraski和Andi Gutmans试著用PHP建立业务,但发现它在功能上很匮乏。她们与Rasmus合作,PHP再次被重写并正式宣布发布了PHP 3.0版。当时事情有了一些进展,预计有10%的域安装了PHP 3。这也是PHP的含义从“Blog”变成人人喜爱的递归缩写词“PHP: Hypertext Preprocessor”的转折点。这个版和时期通常被视为PHP巩固地位的时期。在PHP 3和4过渡时期,phpMyAdmin被创建。Zeev和Andi将她们的名字组合在一起,创建了PHP服务公司Zend,古老的大象徽标诞生。

剩下的就是经典的发展史了:PHP 4正式宣布发布后不久,Drupal出世。2003年再次出现了WordPress,2004年,哈佛大学一位名叫Mark的学生(FB创始人)声名大噪。

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

FACEBOOK和PHP

Facebook是著名的PHP网站。但,当成千上万的采用者变成数以百万计,数以百万计的采用者向数十亿采用者扩张时,就再次出现了成长的烦恼。

特别是,PHP往后是(现在仍然是)一种脚本词汇。对开发人员的生产率而言很好,但对资源效率而言却不然。因此,在2008年,Facebook开始从事HipHop for PHP(一种编译器)的工作。很简单,它解析PHP,将其编译为C ++,然后将生成的C ++编译为x64。鉴于PHP是弱类型且动态的,这不是什么了不起的壮举。但结果不言而喻:CPU负载减少了50%。

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

我敢肯定,能想象如果你 是Facebook的一名开发人员,采用这个程序会何等可怕。对PHP代码进行更改,运行解释器,然后运行编译器,再运行可执行文档,发现问题后返回修复。那是两个相当长的迭代周期,这就是为什么Facebook还开发了HPHPi,这是一种解释器,能完成与解析器和编译器 (HPHPc)相同的工作,但只是用于开发。能想象,让这两个项目保持同步是件非常头疼的事,因此在2011年,他们开发了HHVM(HipHop虚拟机)。

HHVM是一种PHP运行时。它采用JIT(即时编译)来提供两全其美的方法。这非常酷,如果你有兴趣,能在Facebook自己的博客文章中写作更多内容。

下两个重大进展是在2014年,再次出现了一种专门为HHVM构建的词汇Hack。它既是PHP的超集又是其子集,添加了可选的类型注释和诸如异步架构之类的附加功能。它还帮助HHVM的JIT更加高效,因为它能通过采用指定的类型提示使HHVM的JIT放心地进行优化。很快,Facebook上的新代码开始用Hack撰写,在往后的时间里也把原有代码向Hack转化。Hack和HHVM都是开源的,现在都在积极维护。

Facebook发现原生形式的PHP无法大规模扩展的事实,是否意味着它是一种设计拙劣的词汇?不,我不这么认为。我不认为当时存在的选项是针对Facebook所需的规模或细节创建的。但,这并不能阻止人们用PHP构建Facebook。

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

PHP的仇恨者

在广阔的软件社区中,随着PHP的产业发展壮大,它无可避免地引来了越来越多的愤世嫉俗者的攻击。不过,客观地讲,PHP比绝大多数其他词汇更令人讨厌。根据最近的2020 Stack Overflow开发者调查,PHP在最可怕的词汇中排名第六。为什么?

我不想在这里讨论技术细节,如果你感兴趣,能看看《PHP:糟糕设计的化身》,这篇文章简直被PHP仇恨者奉为圣经。这篇博客写于2012年,其所提及的一些问题此后已得到解决,但许多问题尚未得到解决。(例如:为什么在2020年仍没本地异步支持?)

我认为PHP在词汇哲学上的问题更大。这是两个用复杂方式实现的用于相当狭窄应用领域的辅助工具。在理想情况下,如果插件要是复杂的,那么开发人员应该在采用者代中看到复杂性,而不是词汇本身。你不需要用两个复杂的辅助工具来创建复杂的项目。当我说PHP很复杂时,我并不是说它对初学者而言很难采用(事实上恰恰相反),我是说它有不一致的命名约定和许多非常具体的函数,这两者都很容易产生错误,直到运行时那些错误才会暴露出来。但,那些仅仅是PHP时代的属性吗?尽管这可能是两个因素,但肯定不是大家讨厌它的原因。毕竟,Python创建于1989年,比PHP早6年,在Stack Overflow 调查中,它在最受喜爱的词汇中排名第三,也是当今增长最快的词汇之一。

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

Stack Overflow 2020调查:最可怕词汇

当谈到安全性时,关于PHP公交站点上超过平均水平的漏洞数量,是该词汇的错误却是公交站点开发人员的错误,存在一些争论。

一方面,为了吸引包括非程序员在内的广为人群而设计的程式设计词汇,不管词汇本身有什么优点,那些人用几十年前的教程撰写的代码组合在一起创建网站,这种程式设计词汇总是会遇到问题。另一方面, PHP试图以令人费解的方式修复基本的安全问题,例如先用escape_string()修复SQL注入,然后通过添加real_escape_string()修复漏洞,再添加addslashes()、mysql_escape_string()、pg_escape_string()等等。将此添加到其复杂的错误/异常处理(是的,错误和异常是不同的)中,如果不熟悉词汇的细微差别,那么很容易出错。运行过时、不受支持的PHP版的公交站点数量的数量还将以惊人的速度继续增长,因此在今后几年里,PHP公交站点仍将是黑客唾手可得的目标。

尽管如此,我不认为尖萼词汇存在的问题有人们所说的那么严重。尽管人们对PHP的抱怨有合理的理据,但在我看来,大部分的污名都是因为它很受欢迎而遭受的嫉妒,而不是什么个人原因。

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

今后

本人深知在地址栏中采用post.php的页面输入对尖萼词汇的评论,是很有讽刺意味的。但这与原有的网站无关。我认为即使是最热心的采用者也不会建议他们重写所有采用PHP创建的网站。问题是,在2020年,如果我想创建两个新网站,我应该考虑使用PHP吗?

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

毫无疑问,当前的web开发趋势正在为单页面插件设定两个方向——在这种插件中,你的浏览器永远不会重新加载,但导航是通过Javascript采用API调用(例如:浏览GitHub或Google Drive)得来的数据重新呈现页面来实现的,这样的调用快得像闪电一样。Javascript库、框架和辅助工具在浏览器中构建反应式和高性能插件的生态系统不断增长,其中React和Vue最受欢迎。

归根结底,PHP是用于服务器端呈现的。这对绝大多数网站而言是不错的,也是绝大多数网站的最佳选择。但如果你要在2020年建造新的产品,你要接受这一点将带来的限制。尽管PHP风格的服务器端渲染还没死(大家是不是都忘了SEO了?),但现代的网站很可能是同构的,也就是说,能够在服务器和客户端渲染相同的Javascript,采用诸如Next.js(用于React)或Nuxt.js(用于Vue)等框架,能够将PHP从服务器端清除。

但他们不能忽视PHP也在不断产业发展的事实。Laravel自诩为“web工匠的PHP框架”,它提供了一种MVC架构,用于安全加速地创建PHP插件。受到社会的高度重视,它的产业发展积极迅速。此外,PHP 8也在今年8月推出,带来一大堆新特性(其中许多特性和Facebook章节中介绍的类似),比如JIT、Union类型和改进的错误。

最后,祝PHP 25岁生日快乐,尽管PHP古怪得很,将来很长时间也将保持这份怪异。你给了很多人力量,并在web的崛起中发挥了关键作用。但,如果人们到别处寻找今后,你也不要太沮丧,毕竟现在都2020年了。

责任编辑为CSDN翻译文章,转载请注明出处。

原文链接:

https://hackaday.com/2020/06/29/does-php-have-a-future-or-are-twenty-five-years-enough/

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

PHP 还有未来么,还是 25 岁就“寿终正寝”了?

更多精彩推荐

开源商业化今后究竟怎样?国际开源圈网红这样说

2020 最烂密码 TOP 200 大曝光,霸榜的竟然是它?

腾讯 AI 医学进展破解“秃头”难题,登 Nature 子刊!

用Python分析5000+抖音大V,粉丝最喜欢的视频类型是它

亿级大表分库分表实战总结(万字干货,实战复盘)

优秀!一鼓作气学会“一致性哈希”,就靠这 18 张图

PHP 还有未来么,还是 25 岁就“寿终正寝”了?点分享PHP 还有未来么,还是 25 岁就“寿终正寝”了?点点赞PHP 还有未来么,还是 25 岁就“寿终正寝”了?点在看

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务