在Web开发语言当中,PHP是相对使用比较广泛的编程语言。但是PHP也是令开发人员比较讨厌的语言,那PHP令开发人员讨厌的原因是什么呢?其实说不喜欢PHP编程语言纯属仇恨,还有是对PHP的不了解,因为PHP真的是一门不错的编程语言,因为它的很多技术都是非常强大的。今天,我们要回到仇恨的根源,看看它是否真的合理。
不要碰我的PHP
如果我说PHP被全世界所讨厌,那不是我个人的看法。在最新的程序员编程语言调查中,来自世界各地的开发人员将PHP 列为最可怕的5种语言之一。最新的Hired调查显示,PHP在最讨厌的语言前2名中名列前茅。还有一些调查,比如Reddit上的话题。
如果您是20年几年的PHP开发人员,正好在到这里进行十字军东征,放松些,将我钉在Symfony的祭坛上吧。我们在这里只是聊聊天,请放下枪,好吗?现在的事实恰恰相反,如果您满腔热情地讨厌PHP,喝些茶,吃点爆米花,舒服的坐下来谈。
从前,我自己在做过一些Symfony2项目。坦白说,我喜欢Symfony,这个框架真的还不错。我告诉了在devops会议上认识的一名开发人员,他说他感到震惊,甚至作呕,他看着我,就像我刚谋杀了一个新生儿一样。从现在开始,我称呼他为James,以简化描述。我问James一个问题:为什么你这么恨PHP?
PHP过去的麻烦
要了解接下来会发生什么,人们是需要了解上下文的。为了做到这一点,让我们做一些媒体倒带。那是在1994年,Rasmus Lerdorf正在编写C工具套件,该工具套件用于管理他的个人网站。Rasmus当时只是在满足自己的需要。他并没有想把它变成一种编程语言。此工具套件中的任何内容都不旨在成为一体。一年后,拉斯穆斯(Rasmus)发布了这个开源工具箱,当时叫做:PHP / FI。
它的代码看起来像这样:
<!--include /text/header.html-->
<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
Hey, you are using Netscape!<p>
<!--endif-->
<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
Sorry, that record does not exist<p>
<!--endif exit-->
Welcome <!--$user-->!<p> You have <!--$index:0--> credits left in your account.<p>
<!--include /text/footer.html-->
可以看到这段代码与今天PHP7框架中的内容相去甚远。
然而,一切都来自那里。PHP故事的其余部分:开发小组接管了代码,并在1997年发布了PHP /FI2。1998年,PHP部分内容被重写,并发布了PHP3。在1999年,PHP的核心被完全重写,这就是Zend引擎。接着第二年发布了PHP4,并在2004年与Zend2一起发布了PHP5。PHP6后来被取消。最终,PHP7对该语言的另一次重大重写:于2015年发布。我记得当时非常激动。但是最开始时,Lerdorf只是在写自己的东西而已。
2003年,他接受了媒体采访,讲了一些不可思议的事情:
“我真的不喜欢编程。我构建此工具的目的是为了减少编程工作,以便我可以简单地重用代码……我不知道如何停止它,从来没有打算编写一门编程语言[…]。我根本不知道如何编写编程语言,只是不断增加下一个逻辑步骤。”
不一致与不良设计
早在2019年,我和朋友James有一次聚会。他开始与我讨论PHP不太好的语法。PHP无论是使用运算符还是函数命名都令人难以置信的不一致。
我认为最讨厌PHP的人实际上就是他,后来我查了一下他在网上发的所有这些帖子都证实了。开发人员讨厌PHP,因为PHP是一门技术上不一致且设计不良的语言。将其与其他语言进行比较时,对比显而易见,问题确实如此。
使用PHP很容易就产生错误的代码,而其他语言有很多规范限制。我们还看到了PHP的许多安全问题,嗯关键问题就在这里:使用PHP编写错误和不安全的代码非常容易。但是,如果编写正确的代码,PHP并不会产生安全漏洞,也不会是丑陋的代码。开发人员讨厌PHP,因为使用这样的自由度很高的语言容易出错。
成功的受害者
PHP被拉仇恨还有另外一个重要因素。开发人员讨厌PHP,因为现在它无处不在。比如Wordpress博客在PHP7上运行。像大多数网站一样,我只需要托管一个动态页面,然后将其缓存。PHP在这点非常可以胜任。虽然语言本身并不是最好的。。但是谁在乎?它以快速且易于访问的方式满足了人们的需求。也正是由于这个原因,80%的网站都在PHP中运行。
当我向James解释时,他像疯了一样。他说自己不得不经常更改PHP中的内容,为此感到头痛。
WordPress的出现(实际上在互联网上已占主导地位),James将长期使用PHP。顺便说一句,我正在与您交谈,就好像该语言只能处理像我这样的博客一样,但事实并非如此。Facebook,Wikipedia,Yahoo,Flickr,Tumblr所有这些网站均在用PHP运行,并且每月欢迎数百万用户,而丝毫没有出什么问题。PHP已经做得很好,并且已经运行了很长时间。
PHP现在是老人,快要消亡
这句话已经听了十多年了,类似PHP即将消亡的预言。但是它仍然在那,不减反增。尽管现在有最新的替代技术,但它并没有太大受压缩。开发人员讨厌PHP,因为它与新“炒作”的语言相反。每个人都想投资最新产品,而PHP就像一位不想出让自己土地的老人,而他在继续狂妄地跳着舞。
我与James的讨论继续进行,突然间他告诉我让人震惊的事情。“PHP在网络上最慢的语言”。他接着说说自己已经很长时间以来没有阅读任何PHP代码。
PHP在发展,而非声誉
在许多开发人员的心中,PHP仍保留在PHP4。也就是该语言尚不稳定,性能不佳且较浅层的OOP时。开发人员不喜欢PHP,认为该语言已经停滞了20年。如今,当了解新的PHP时,您就知道它现在与PHP4已经相距甚远。
PHP7比Python和Ruby更快。如果需要,可以使用强类型的语言对比。近年来出现的静态解析器也在发展,使用诸如Symfony或Zend之类的框架会强制采开发者用良好实践。这些框架每年至少发布一个新版本,其中包含非常精确的计划。
PHP7.4的性能目前更高。出于篇幅考虑,不再列出现代PHP中发生的全部事项。现在是时候改变您对这种语言的看法,这与以前的版本毫无关联。
关于PHP令开发人员讨厌的原因是什么相信大家已经清楚了吧,想了解更多关于PHP的信息,请继续关注中培教育。