17611538698
webmaster@21cto.com

为什么 PHP 仍然是一种流行但存在争议的编程语言

编程语言 0 144 2024-03-19 08:33:18

图片

对于 PHP,我们可以说的一件事是它是持久更新的语言。

与许多历史悠久的编程语言一样,它经常受到希望看到更新候选语言开发者的“诽谤”,但它也保留了不少支持者和最佳实践者,这让人想起 C++ 发明者 Bjarne Stroustrup 的明智之言:

世界上只有两种编程语言:人们抱怨的语言和没人使用的语言。

PHP 最初创建于 1993 年,旨在增强高级程序员 Rasmus Lerdorf 的网页,它最初并不是作为一种新的编程语言,而是有机发展的。

它在其存在的三十年中不断适应,甚至 PHP 这个名字也发生了演变,逐渐代表了超文本预处理器,而不是最初的含义,即Personal Home Pages —— 个人主页。

尽管Web在 30 多年来发生了很大变化,但 PHP 却一直在坚持以往,并继续得到用户的积极支持,并且自身定期更新。其最新版本 8.3 于去年底发布,是最新的8.x系列年度版本中的最新版本。

当开发人员遇到 PHP 的性能限制时,人们也已经成功找到了解决方法。

最著名的例子是 Facebook 的技术团队,他们找到一种方法,使 PHP 能够适应其社交网络从数千名用户到数百万、数千万,然后是数十亿用户的急剧扩张。Facebook 的开发团队创建了他们自己的 PHP 方言,以缓解成长的烦恼,并进行大规模的服务器扩展工作。

直到今天,Facebook 继续使用 PHP,Microsoft、Etsy、WordPress、MailChimp 和 Wikipedia 等也是如此。

事实上,根据 W3Techs 的说法,这样说道:

在我们知道的服务器端编程语言的所有网站中,有 76.5% 使用 PHP。

图片

ASP.net、Ruby、Java 和 JavaScript 等替代方案甚至无法接近这一市场份额。尽管这些竞争语言在高流量网站中的使用频率较高,但 PHP 仍然是全球排名前 1,000 的网站中超过 60% 的主导语言。

尽管这些数字继续证明 PHP 在服务器端脚本方面的主导地位,但它的确开始出现轻微的下降。但是,当一种语言在超过四分之三的网络上使用时,即使趋势偏离它的使用也需要数年时间才能影响排名。

因此,PHP 通过广泛使用保持了其相关性,但其持续流行还有其它原因。

PHP是开源的,多年的使用意味着有一个广泛的社区和全面的资源来支持开发人员的使用和故障排除。它也相对容易学习,对于许多开发人员来说,他们第一次涉足 Web 编程时都会涉及 PHP。

然而,作为一种古老的、易于理解的语言也有其缺点。由于缺乏经验的用经常使用旧教程和一点点知识拼凑网站(这是很危险的事情),你一定要看到问题,特别是在网站安全方面。因此,PHP 网站仍然是黑客的主要目标,他们希望找到一个不受支持的旧版本。

令人担忧的是,根据 WordPress 统计数据,其大多数(超过 44%)网站都在使用 PHP 7.1 版本,该版本的支持已于 2019 年终止。这是针对 PHP 最常见的抱怨之一,此外,语言是由于它的有机发展而产生的。

如果你在使用 PHP,则需要跟上新版本的步伐,以免导致其声誉受损。如果还想学习使用其支持框架,例如 Laravel 和 Symfony。

图片

事实上,许多PHP 开发人员的招聘信息都会要求具备这两种框架的技能。

图片

例如,这篇在某个欧洲城市寻找首席 PHP 架构师的帖子特别要求了解 PHP 8 及以上版本。IT 咨询公司 CGI 的另一个开发人员角色希望其 PHP 程序员能够使用 Symfony 和 Drupal(一种用 PHP 编写的内容管理系统)。

图片

只要 PHP 仍然是世界上最常用的编程语言之一,PHP 的工作就仍然具有相关性。而且,尽管有一些强烈的批评者,大多数开发者还是钦佩与信任 PHP。在Stack Overflow最近的年度调查中,PHP 被受访者认为是高度“钦佩”的,这意味着那些使用 PHP 的人愿意继续这样做下去。

对于那些了解 PHP 最新动态的人来说,它越来越多地用于渐进式 Web 应用程序、物联网以及人工智能和机器学习(目前增长最快的技术领域)。这种灵活性和多功能性意味着 PHP 开发人员可以享受工作的多样性,特别是如果他们找到了一个跨多个项目工作的角色,例如数字咨询机构 Denkwerk 的项目,该机构是 2024 年“最佳工作场所”之一。

宣告——甚至呼吁——PHP 死去的文章几乎和该语言本身一样有着悠久的历史。尽管如此,PHP 依然存在着。它主导着我们的Web和网站体验,并继续被新一代开发者采用和享受。

分配给成为脚本语言的个人主页后修订后的缩写词似乎也不太合适——也许它应该被称为“持久超文本预处理器”。

作者:手扶拖拉斯基

评论