时间:2022-10-09 14:37:58 | 浏览:9157
作者 | Beau Beauchamp 译者 | 弯月
出品 | CSDN(ID:CSDNnews)
在流行文化的冲击下,也许很多人都不赞同本文表达的观点,但我毅然决定再一次逆流而上。我认为,虽然 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诞生于 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 在功能上是一门非常强大的语言,特别是它的库可以用在数据科学或其他侧重于数学计算的地方,这些情况下精度是必须满足的要求。
我同意,在过去的 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 语言让普通人也可以编写有效的代码。简单、没有特殊要求、弱类型、不需要编译,就可以运行。
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多家知名公司云原生和数字化一手实战经验!
不论你是Python新手零基础入门Python还是对于Python有了一定的经验积累,这里跟大家分享5个Python计时器,希望伙伴们有能用得上的!Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分
机器之心报道编辑:力元、蛋酱2020 年 1 月 1 日,Python 官方结束了对 Python 2 的维护,意味着 Python 2 完全退休,进入 Python 3 时代。之后,关于 Python 4 的发布排期也成为了社区的热门议题
一、python了解python 是脚本语言。python 是一种面向对象的解释型计算机程序设计语言。语法简洁清晰,特色之一是强制用空白符作为语句缩进。优点:跨平台、胶水语言、开源免费、丰富的库 。缺点:运行速度慢、代码不能加密、场景、数据
思维导图是整理知识的一种非常有效的手段,这里分享几张 Python 基础学习的思维导图,可以帮助自己巩固下基础,有需要的小伙伴可以加紧时间收藏哦!获取方式:
第一期计算机等考二级程序设计科目的学习,我们从简单易学的Python开始,今天,就让我们揭开它神秘的面纱!我们先看三组数据:第一组呢是TIOBE指数排行,可以看到我们的Python在今年三月份排在了榜首的位置,相比去年的三月份,Python
都说Python什么都能做,本来我是不信的!直到我在CSDN站内看到了一件真事儿:一位博主贴出了自己10分钟用Python搭建小说网站的全过程!全程只用了2步操作,简直太秀了!!……第一步:爬取小说数据库第二步:用Python的热门框架Dj
之前老看Java岗的一个朋友炫耀他的一份Java核心知识点笔记,当时,我内心毫无波澜,只有一点点酸……其实Python开发也有很多知识点,我一直一来就想要一份Python核心知识点笔记来帮助自己查漏补缺,后来想想,既然一直没有找到让我满意的
去年 11 月,退休失败的 Python 之父 Guido van Rossum 在推特上宣布,退休生活太无聊,从而加入了微软开发者部门。微软自然支持优秀人才的发展,所以赋予了 Guido van Rossum “自由选择项目”的权利,Gu
小编贴心提醒,本文阅读时间9分钟1.Hello world安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写的语句能够立即运行。我们写下一句著名的程序语句:并按回车,你就能看到这句被K&R引
Python是近年来非常火热的一门编程语言,Python 语言最大的特点就是简单,该特点主要体现在以下 2 个方面:1. Python 语言的语法非常简洁明了,即便是非软件专业的初学者,也很容易上手。2. 和其它编程语言相比,实现同一个功能
经过了前一段时间的python学习,那么今天我们来学习一下字典,首先来看一个简单的字典:在python中,字典是一系列键-值对,每个键都与一个值相关联,例如前面的color和age就是键,yelllow和23就是他们分别对应的值对1.访问字
之前已经讲解了Python解释器的下载和安装,现在就讲下解释器的作用和分类,在讲解任何Python代码之前我们得先知道解释器概念和作用,因为解释器扮演的角色是非常重要的。一、解释器的作用****作用:运行文件(运行代码)****Python
在IDLE中点击help中的Python Docs找到“Python Docs”然后就进入Python文档的界面,在左边找到“搜索”按钮,并点击。找到“搜索”按钮在搜索框中搜索所需要的库名称或者函数名称,就能含有该关键词对应的文件。你会在这
郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。但你看这些图表呢?结合真实地理数据,展现美国每个县的失业率。全球自然灾害统计,类型、规模、时间,一目了然。甚至还有可爱
作者 | Beau Beauchamp 译者 | 弯月出品 | CSDN(ID:CSDNnews)在流行文化的冲击下,也许很多人都不赞同本文表达的观点,但我毅然决定再一次逆流而上。我认为,虽然 PHP 百般受轻视,但这门编程语言的流行度比以