0

0

PHP 正在干掉 Python !

藏色散人

藏色散人

发布时间:2022-01-26 09:50:55

|

3257人浏览过

|

来源于CSDN

转载

在流行文化的冲击下,也许很多人都不赞同本文表达的观点,但我毅然决定再一次逆流而上。我认为,虽然 php 百般受轻视,但这门编程语言的流行度比以往任何时候都高!

为什么?怎么 PHP 还没死吗?不是有那么多比 PHP 更优秀的编程语言吗?

不,并没有。如果真的有这样的语言的话,它们早就带头干掉 PHP 了。我们需要重新审视什么才是“更好”的编程语言。

为什么 PHP 还没死?如果你表示不解,那可能是因为你并不了解编程、程序员、市场和民主。实际上,这与代码、函数或语法没有任何关系。

抨击 PHP 成为了一种时尚

立即学习PHP免费学习笔记(深入)”;

 

如今,为了在编程的圈子内走红,你就必须抨击与“主流文化”吹捧的编程语言有竞争关系的语言。这与语言本身的功能无关,只是因为文化,就有点像宗教。

程序员是一群固执己见的人,非常傲慢,但我们必须克服这些缺点。我们喜欢抨击我们不喜欢和不使用的编程语言。你会发现有些工程师说 Java 很糟糕,有些说 C# 很糟糕,而有些则说 Go 很糟糕。至于具体是什么语言根本不重要,总会有人批评。

此外,还有一种更深的鄙视,最近这段日子 PHP 和 Python 之间默默地展开了一场较量,似乎学术界正在策划一场阴谋:干掉 PHP,让 Python 取而代之。

如今,你甚至会发现在一些维基百科的页面中,LAMP 技术栈中的 P 居然神奇地变成了 Python。20 年前,在我使用LAMP 的时候,这几个字母指代的可是 Linux、Apache、MySQL 和 PHP,当时的 P 指的可是 PHP,而不是 Python,甚至不是Perl。我并不是说这些定义不能改变。也许是我的疑心太重了?不够包容?还说 Python 占据了 PHP 的位置?

对于我们大多数人来说,大学里学习了 Python,还有其他一些实际工作中可能永远也用不到的小众语言。虽然我们的老师或其他菜鸟会说:“PHP 很糟糕”,但也许他们中的大多数人从未编写过一行 PHP 代码。

事实上,你甚至可能会怀疑是否真的有人从事专业的 PHP 编程工作。普通人对 PHP 的不屑一顾实际上并不合逻辑,而且也不是发自内心的。只不过,与朋友在咖啡馆聊天的时候,我们习惯于一起鄙视某些明星、网红或者 PHP。

此外,还有一些编程纯粹主义者,他们愿意浪费宝贵的时间吹毛求疵,讨论 PHP 如何糟糕。大多数这样的争论都会围绕个人的偏好,或者他们不喜欢的细微差别,为的是宣传自己喜欢的编程语言,并希望这些语言一统天下!

他们的抱怨没完没了:

  • PHP 的类型很弱,而且还有很多糟糕的代码。

Javascript 和 Node.js 又何尝不是呢?你不是一样在用?

  • PHP 的函数太多了。

有些人就连这都要抱怨,是因为太方便了吗?

  • 函数名不一致。

当一种语言真正做到民主化,而不是由哪个“专家高手”凭一己之力一手编写而成,就会出现这样的问题。

可见,他们对 PHP 的批评通常都源于个人偏好,或者只是鸡蛋里挑骨头。要是这么说的话,我们也可以针对Python、C#、Java、Go、Javascript 或其他任何语言挑出相同的毛病。作为程序员,我们喜欢抱怨,满腹牢骚。

但作为程序员,我们喜欢抨击 PHP 的真正原因是,我们固有的狂妄自大和赤裸裸地嫉妒。

PHP更容易使用

 

PHP诞生于 90 年代中期,甚至在我们中的一些人出生之前。我从 2000 年初开始使用 PHP,当时的版本正在从 4 向 5 过渡,后来我开始使用 CodeIgniter、ZendFramework,在自己的框架中编写应用。

我认为 PHP 长盛不衰的原因,也是这门语言不会消亡的主要原因是,它不仅嵌入到了各类新旧应用程序中,也嵌入到了新老程序员的脑海中,他们使用 PHP 已经长达几十年了。我们不会离世,我们编写的商业代码也不会消失。

有趣的是,Python 诞生于 1991 年,那时PHP 还没有出现。虽然 Python 的生命更长,但它的采用未能达到 PHP 如今的水平。

为什么? 

在我个人看来,与 PHP 相比,Python 使用起来很痛苦。这个问题在 Python 3 中有所缓解,但在 15 年前,Python 还没有各种开箱即用的、“花里胡哨”的函数,远比不上 PHP。你必须手动安装很多功能。

此外,我发现 Pyhon 还有一个问题,而且这个问题一直延续至今,那就是空格。我讨厌使用空格作为分隔符的语法。我希望按照自己喜欢的方式分隔代码,而且不希望编程语言碍手碍脚。无论你再怎么说得天花乱坠,代码是我的,我想怎么写就怎么写,谁也管不着。

Python一直吹嘘自己的空格语法“易于阅读”,但这不过是营销的空话罢了。我个人认为,Python 使用了最糟糕的语法,还不自知。

这种自以为是的语法很容易引入错误。最初,在 IDE 能够所有这些问题之前,我相信没有程序员喜欢这种语法。至少我个人就不喜欢。这也是几十年来该语言的采用率一直很低迷的部分原因。其实就是因为这种语法对用户不够友好。

此外,我认为早年间人们并不知道 Python 的存在。它作为一种脚本语言嵌入到 Linux 发行版中,这就是它的主要用途。没有人会跑出来大喊道:“我可以用 Python 构建网站了!”

Modoer多功能点评系统1.2.5 Build 20111220 UTF8
Modoer多功能点评系统1.2.5 Build 20111220 UTF8

Modoer 是一款以本地分享,多功能的点评网站管理系统。采用 PHP+MYSQL 开发设计,开放全部源代码。因具有非凡的访问速度和卓越的负载能力而深受国内外朋友的喜爱。在升级前一定要备份好自己的原版本,特别是自己设计了模板和修改了代码的用户。Modoer多功能点评系统 v1.2.5 Build 20111220更新列表修正 安全漏洞和安全隐患增加 后台登陆和SQL错误记录日志修复 若干小BUG

下载

事实上,虽然我们可以用 Python 做网站,但优秀的工程师都知道 Python 的强项并不是做网站。除了我个人对语法的偏好之外,Python 在功能上是一门非常强大的语言,特别是它的库可以用在数据科学或其他侧重于数学计算的地方,这些情况下精度是必须满足的要求。

PHP是任何人都可以使用的语言

 

我同意,在过去的 15 年间,Python 推出了许多更新,并超越了 PHP,只不过这些更新晚了十年。

2008年发布的 Python 3 实际上打破了向后兼容性。Python 2 的代码无法与 Python 3 一起运行,你需要做一定的修改。但是,如果有一百万行代码需要更新,那就没戏了,尤其是在企业环境中。

公平地说,PHP 7 和 8 也破坏了一些 PHP5 的代码(没有 PHP 6)。我是ZendFramework 1 社区的一员,该社区帮忙更新了运行在 PHP 7 和 8 之上的框架。幸运的是,在将 ZF1 升级到 PHP 7 和 8 时,我的企业遗留代码几乎没有损坏。所以,大部分 PHP 5.6 代码仍然可以向后兼容。

但也许真正帮助 PHP 一炮而红的事件是,一家成立于 2005 年的名为 Automattic 的小型初创公司。

WordPress刚开始的时候很不起眼,但它不仅改变了开发人员,而且也改变了普通人发布网站的方式。

到目前为止,最好的发布选择是 Drupal、Joomla 或其他一些BBS 软件。但这些软件使用起来都很痛苦,因为编写这些软件的人的思考方式更接近程序员,而不是普通用户。

如果 WordPress 是用 Python 编写的,那么可能 PHP 真的会走下坡路。但我敢说,Python 会阻碍 WordPress 的迅速崛起,甚至完全阻止。

采用以及扩展贡献者的支持将关系到语言或应用程序在开源市场中的生存。而易用性是刺激采用率迅速上涨的关键。

作为一名受过大学教育的软件工程师,无论你如何诋毁 PHP,都无法否认 PHP 不仅受到了专业软件工程师的青睐,而且就连兼职人员、家庭主妇、平面设计师、公司经理、企业家和小学生都能使用计算机编写网页。

可以说 PHP 是信息时代的 BASIC(语言)。

作为一名软件工程师,你的思考方式必然和软件工程师一样,而不是那些只想利用有限的时间和资源为自己的小企业建立一个网站的人。

而 WordPress 和 PHP 改变了这一切。

WordPress本身很容易使用,但功能很有限。普通人可以利用 WordPress 的插件架构,编写很小的 PHP 代码片段,他们不需要重写整个类或成为软件工程师来完成这些工作。

数以百万计的业余程序员通过 WordPress 在网络上与其他人分享他们的成功,并发展了这个平台。

通俗易懂的 PHP 语言让普通人也可以编写有效的代码。简单、没有特殊要求、弱类型、不需要编译,就可以运行。

PHP与互联网

 

15年后的今天,PHP 为 78% 的 Web 提供支持。仅 WordPress 就占所有网站的近 40%,并拥有近 2/3 的 CMS 市场份额!关键是Python 希望占有这些市场的 10%!尽管 Python 纯粹主义者对 PHP 充满仇恨,但 Python 仅占 Web 的不到 1.5%。

有些企业客户的招聘人员曾联系过我,他们希望删除所有的 Python Web 代码,并换成 PHP。你可能会感到很震惊,但其实这种情况应该更多。为什么?因为老实说,Web 不是 Python 的主战场,Python的主要用户是数据科学和其他专家,而且有这方面经验的人才供不应求。

通常公司需要灵活。当需要扩大团队或有人离职时,他们不可能花费数周或数月来寻找新的 Python 人员。而且 Python 工程师也很贵。

对于小型企业来说,寻找 PHP 程序员要容易得多,而且如有必要甚至可以进行培训。关键是你可以找到拥有数十年经验的高级 PHP 架构师,比找相应的 Python 人员要容易得多。

关键是,如果你在一家公司工作,如果没有正当理由就想用 Python 编写网页或中间件,那么就会遭到责备。因为公司会为此背负上 Python 代码,将来他们需要花费巨额资金来删除这些代码,并用正确的工具替换。

应用程序架构师的首要工作是,针对企业的实际情况,选择最有效的技术。不能因为网上非常流行,或者是学校里教了某种语言,你就根据自己的喜好来选择。

我建议完全用 Python 编写 SaaS 应用程序的情况非常少,考虑到 Python 的 Web市场份额,似乎大多数应用程序架构师都会选择正确的语言。他们会在 Python 最擅长的领域选择 Python,并根据 PHP 的最大优势选择 PHP。

总结

 

作为工程师,我们都喜欢使用自己熟悉的语言,而且我们喜欢对自己不熟悉的技术嗤之以鼻。

各个高校都在尝试将 Python 作为通用的商业语言。但实际上,Python 更适合运行服务器、数据科学、处理大型复杂数字,乃至加密货币的挖矿等。

而 PHP 是大众语言,它已成为互联网事实上的语言。

所以,如果你喜欢,可以继续抨击 PHP,继续鄙视它。但无论怎样,PHP 仍然是迄今为止网络上使用最广泛的语言,随着 WordPress 的持续飞速增长和 PHP 7 和 8 的新速度,这种地位在短期内不会改变。

参考链接:https://beau-beauchamp.medium.com/php-is-killing-python-2be459364284

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

15

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

23

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

75

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

95

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

218

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

420

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

168

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

221

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

33

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.3万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号