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 构建网站了!”事实上,虽然我们可以用 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《新程序员003》正式上市,50余位技术专家共同创作,云原生和数字化的开发者们的一本技术精选图书。内容既有发展趋势及方法论结构,华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!