PHP 是最好的语言么?本着敢于质疑且独立思考的自由精神,我们对“PHP 是最好的语言么?“这一问题,也是从疑问开始的。想写介绍如下,更多消息请关注应届毕业生网!
什么是最好?
《现代汉语词典(第5版)》第1823页对“最好“一词给出的解释如下:
最:(1)程度副词,表示某种属性超过所有同类的人或事物 (2)指(在同类事物中)居首位的,没有能比得上的。
最好:最为适当。
与时俱进一下,再看看百度百科的解释:
最好,拼音zuì hǎo,意思是.表示最理想的选择;最大的希望。
最好是否具有相对性呢? 有这样一句使用了“最好”一词的名言:
怯懦是你最大的敌人,勇敢则是你最好的朋友。——弗兰克
最好是指语言的自身么?是指图灵完备性么?是语言自省等特性么?
最好相对于的主体是你自己,还是某个群体,抑或全部人群?
当我们讨论“PHP 是最好的语言“时候,我们是否明确了“最好“的适用范围,争议往往就是从边界的不明确处产生的。默认的,很多朋友可能是基于“PHP对所有程序员,是最好的语言“这一观点的。
科学在于证伪,如果PHP是最好的语言,那么会引出什么样的结论呢?
如果…… 那么…..
反证法经常会在论述中使用,这里也可以粗浅的尝试一下:
如果 PHP 最好的话, 能不能 用 PHP 写个 操作系统呢?
遗憾,原谅我的孤陋寡闻,操作系统一般都是C写的,甚至连C++都没有使用。那么 C 是最好的么?
如果C 是最好的语言,那么用C写一个类似Hadoop 的分布式计算环境如何呢?可能会吐血, hadoop 是用 java 写的。那么Java 是最好的语言么?
如果Java 是最好的语言,那么写个网页爬虫会是怎样的情形呢?
一个页面请求和解析至少要 50行以上的代码么, python 可能不超过10行代码? 那么 Python 是最好的`语言么?
……
可以支持最小的全栈, 为什么不是最好的?
Spark 是用 scala 写的呀?
文本解析和正则表达式谁能比得过 Perl呢?
shell 编程 直接系统调用 性能很高呀?
不用Objective-C 又如何在 iOS上写出高性能的程序呢?
……
各种吐槽
喜欢C的人必须期待内存泄露这种事就不会找上门,最糟糕的地方在它的内存管理地狱。C 语言程序就像一群拿着刀的人在刚刚打过蜡的地板上快速的跳舞。 两位大神是这样描述C和C++的。
C 很容易让你朝自己的脚开枪。在 C++ 中,这么做变的困难了,但是你要不注意就会崩掉自己的整条腿。
– Bjarne Stroustrup,C++ 发明者
C++ 是一门恐怖的语言。即使选择 C 没有任何优势,只是为了逃避 C++,那这个理由也足够了。
– Linus Torvalds,Linux 发明者
再看看其他神人的各种吐槽,喜欢Java的人肯定上过指法课,不断地重复又重复敲打键盘。内部类和匿名类导致令人困惑的代码。如果 Java 真的有垃圾收集的话,大部分程序在刚开始执行的时候就会把他们自己删了。
Perl 是唯一一门在 RSA 加密前后看起来一样的语言, 呵呵…..
PHP 是由不称职的业余选手发明和操纵的,而 Perl 是伟大而阴险的,由一帮高水平的变态专业人士操纵, 也是没色(sei)了。
Python不但跟编译语言相比慢,就是跟其他脚本语言相比也显得慢吧!
JavaScript没有连接器,所有的代码都共享一个命名空间,那么多个不同的库能够在一起运行,真是一件万幸的事!
Erlang是一门美丽的函数式语言,可以写出很精致程序,以一种精确的方式进行通信,为什么开发一个简单的WEB服务需要费这么大的工夫?
Scala 那么的优秀,但如果让一个新人来熟悉写好的老代码,是不是会有懵圈的感觉呢?
……
最好的语言在哪里?为什么缺陷会被如此的放大呢?
广泛使用
作为最好的编程语言,是否应该是被大众广泛接受并使用的呢?可以求助一下编程语言的使用排行榜。
这是TIOBE 在2016年12月的排行榜。Top 10 编程语言 TIOBE 指数走势(2002-2016)如下:
对,最好的语言也许是少数人喜欢的语言,也许像 Bjarne Stroustrup 所说的那样:
世界上只有两种编程语言:整天被人喷的语言,没有人用的语言。
编程语言的钱途
编程语言也是程序猿/媛吃饭的家伙,最好的语言是否是最能挣钱的语言呢?
2016年 Packet 网站对使用不同编程语言的程序猿/媛薪资状况的调查结果如下:
有点奇怪的是,Bash和Perl 高居榜首。这是国外的调查结果,可能和国内差距较大,有什么参考意义呢?那么看一下,该网站的2016年各大主流编程语言平均薪资排行榜:
1:C语言 平均薪资 15000+ 岗位需求1% 系统、底层、嵌入式、驱动级开发。
2:C++ 平均薪资13000+ 岗位需求10% 大型软件、游戏、服务器级开发。
3:OC+swift 平均薪资12000+ 岗位需求15% IOS、Mac OS平台开发。备注:从业人员较多,竞争力较大
4:javaME 平均薪资10000+ 岗位需求20% android 、移动设备嵌入式开发。
5:javaEE 平均薪资9000+ 岗位需求50% web、软件、企业级开发。备注:长期霸占编程语言第一名,岗位需求比所有语言岗位加起来都多。
6:C# 平均薪资8000+ 岗位需求10% windows平台、游戏、软件开发。备注:人才最少,竞争力最小。
7:python 平均薪资7000+ 岗位需求5% web、软件、后台开发。备注:国外已成热门、国内尚欠火候,人才急缺。
8:PHP 平均薪6000+ 岗位需求20% web、后台级开发。
最好的语言能否带来最好的钱途呢?
不是小结的小结
如上所述和所问, 最好的编程语言可能是个伪命题。 小编觉得,没有最好的编程语言, 只有最适合某一场景的编程语言,只有相对适合自己的编程语言。或许,自己最适合且真正热爱的语言才是最好的语言。
如何心中存在着对编程语言的鄙视链, 说明还不了解对方,或者说明我们遇到的坑还是太少了,遇到的事和问题同样太少了。