PHP绝对不是世界上最好的编程语言

Posted by

很多程序员喜欢用,“PHP是世界上最好的编程语言”这句话来黑PHP。学习和使用PHP这门编程语言很多年了,我觉得PHP绝对不是世界上最好的编程语言。我的博客是用wordpress搭建的,然后我在博客里写文章指出了wordpress的一些比较坑的地方。再然后,就有人来喷我。我觉得,没有调查就没有发言权。正是因为我用过了wordpress,才有资格说出他的毛病。因为这些问题都是我在使用wordpress的过程中,所遇到的真实存在的问题。今天我又要说说PHP了,它绝对不是世界上最好的编程语言。

PHP是C语言的亲儿子

PHP全称是”PHP: Hypertext Preprocessor”,是一门动态类型解释性的脚本编程语言。PHP的底层是用C写的,PHP可以说是C语言的亲儿子。当然,他也吸取了很多其他编程语言(例如:java,Perl。)的优点,才发展成现在的PHP。K&R合著的著名的C Bible – 《The C Programming Language》一书中提到,C语言诞生于1973年。而PHP则诞生于1995年,那么可以理解为C语言22岁的时候,生出了PHP这货。按照中国的法律,这不算未婚先孕。但是,生下这个孩子,关系还是比较乱的。

PHP是一门很古老的编程语言

我觉得,PHP可以称得上是一门很古老的编程语言了。他爹C语言都已经43岁了,PHP自己也已经21岁了。跟PHP功能类似的node.js诞生于2009年,谷歌的Go语言也诞生于2009年,这两个货比PHP要小14岁呢。最近这两年很火的swift,也能做web服务器端的开发。妈蛋,这货2014年才发布。跟这些小鲜肉比起来,PHP已经是老掉牙了。

PHP是一门伟大的开源编程语言

虽然PHP已经20多年了,但是他跟Linux一样伟大的是,它也是一门由社区支持的开放源代码的编程语言。正是由于这一点,让PHP在20多年的时间内,保持了旺盛的生命力。不仅没有因为年纪大和竞争激烈被淘汰,反而不断推陈出新,战胜了像ASP和ASP.NET这样出身名门的编程语言。把微软逼的没办法,只能把ASP.NET开源了,移植到Linux上跟PHP继续战斗。我觉得PHP足以称得上,是一门伟大的开源编程语言。世界最好编程语言,则肯定称不上。

PHP有沉重的历史包袱

虽然开源的特征,让PHP随着历史的发展保持了生命力,但是他依然有沉重的历史包袱。很多被淘汰的类库,为了保持版本的兼容性,也只能遗留在PHP体内等着慢慢淘汰。作为解释性的编程语言,性能不再有绝对优势。哪怕最新的PHP7,在性能方面依然被晚辈Node.js超过。更不要说Java、Go这些静态类型的编程语言,性能都超PHP好多倍的。说PHP是世界最好编程语言,确实是有点过份哈。

文武双全最近在折腾PHP代码的自动格式化,Phalcon这个框架下的代码怎么格式化都不完美。我特别羡慕Go,一个类库就搞定代码Format的事情。不管什么程序员写的Go代码,都那么清爽。对有强迫症的我来说,实在是羡慕死Go语言了。PHP啥时候,能做到像Go那样的工业化和标准化呢?还有命令行工具和依赖管理等方面,PHP都不是业界最好的。

PHP是一门成熟而且入门简单的编程语言

20多年的发展,PHP已经非常成熟了。很多人经常会感慨,这PHP的框架怎么那么多。就算是访问量特别大的网站,PHP也不是说完全搞不了。本质上来说,就是机器多跟少的区别。在web开发领域,几乎没有PHP不能做的事情。而且PHP还是一门入门非常简单的编程语言,这一点胜过js、java和Go的。经常在网上见人吹牛逼,学PHP三天就怎样怎样了。还有人扯,学PHP只需要买一门书叫《三天,PHP从入门到放弃》就够了。虽然吹牛逼瞎扯淡的成分居多,但是也足以反映这门编程语言入门并不难。入门简单,应用广泛可以说是PHP的最大特点。

文武双全对PHP特点的总结

通过文武双全上面的介绍,可以总结出PHP的一些特点了。PHP是一门:历史悠久、入门简单,应用广泛,推陈出新的开源编程语言。但是历史包袱过于沉重、以至于在某些地方超过PHP的编程语言越来越多。和C语言一样,PHP称得上是一门历史悠久的伟大的编程语言。但是,绝对不是世界上最好的编程语言。编程语言的领域,发展极快。很多语言,每年都在进步。连Linux Kernal版本号都刷的飞起,更不要说PHP了。从我的角度来理解,这个世界上根本就没有最好的编程语言,最好的编程语言是属于未来的。

程序员动静结合是王道

网上喷子太多,搞得很多新手对PHP和Java产生了诸多误解。自身学习也走入歧途,这是十分悲催的事情。编程语言和程序员一样,都是适者生存。不适应的编程语言和程序员一样,都会被自然淘汰。没有最好和最坏之分,只有能否适应新的时代。程序员自身只有保持勤奋学习,才能跟上时代的发展,提高自己的生存能力。绝对不能一叶障目,因噎废食。就像很多搞Java的一样学习PHP,而搞PHP其实也很有必要学习Java一样。动态语言和静态语言高低搭配,永远是王道。我的老师是这样说的:一个程序员最起码要学会一门静态语言和一门动态语言,我一直都认为很对。

2 comments

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据