再谈编程语言之争

时间:2022-06-21 07:00:01

写文章和写程序,都是写,写文章的人叫文人,写程序的叫程序员。古语说文人相轻,很多程序员也有这毛病,程序员互相看不起,行话做叫“鄙视链“。体现在编程语言上,就是用编程语言A的,会鄙视用编程语言B的,而用编程语言B的,又会鄙视用编程语言C的。这种争论在10年左右很是盛行,这几年少得多了。

引起这个变化的原因主要是两个,一是互联网在言论方面收紧影响了大家的积极性。二是年龄慢慢变大了。最近又看了几篇王垠的博客,回想起这个语言之争。又有一些新想法。

以前读书的时候,了解到一些常用编程语言的名字,比如汇编,C,C++,ASP,VB,JAVA,并且编程语言是从低级到高级,面向过程到面向对象这样发展的。我对这些编程语言是怀着崇拜的心态来看待的。因为了解怎么使用这些语言,感觉自己掌握了“人机交互的接口”,是因为像自己这样的程序员,才能使得普通用户能方便的使用计算机。后来从互联网了解到,大家在用的编程语言竟然如此之多。TIOBE每年都会发布一个编程语言热度排行板。上面会用表格的方式例出前50名的热度。并且还有后50名的排行。也就是说,这100种编程语言都有人用。

而且看网上说,国外的大学,很多教授会自己发明一个语言用于教学。以前不甚了解,现在通过王垠的一些经历,原来这些教授是PL领域的。

软件行业流行一句经曲名言:不要重复造*。而且经常被有些大牛拿来教训菜鸟,这些创造编程语言的人,也软件界的大牛,但他们却造出了这么多*。理所当然,他们会认为自己造的这个*比前面的*要高明。

这几年虽说大家对编程语言的争论慢慢变淡了,但是谷歌推了一个GO语言,苹果在推Swift,还有rust,“新贵”Python也很热,PHP7.0带来了巨大的变化,另外一些“新”语言提起的人也越来越多了。这个江湖慢慢又热闹起来了。搞不好又会形成一套新的鄙视链。

但按王垠的话说,PL领域二十年来都是在炒冷饭,没有提出什么新东西,都是把原来就有的东西重新换个名字包装一下就拿出来鼓吹。对照来看,这些年软件业也没有什么革命性的突破。那么,是什么人热衷于制造新语言。又是什么人热衷于宣传新语言。

比如说,一个程序员用某种语言用得好好的,也能解决他的问题。突然有一天,一个人说,这门语言是个垃圾,XX语言更好更优秀。我想这个程序员会像吃了苍蝇一样难受。但是又不敢说出来,因为他不了解这种语言,也不知道到底是不是真的好。而且大多程序员都有一种活到老,学到老的江湖自觉。可能以前只是听说过没当回事,这下到互联网上去一搜,发现还真挺多人在讨论的,心里一惊:“哎呀,我操,难道我OUT了!”

程序员这个行业,是很怕OUT的,这有可能代表着没饭吃。于是又要加紧的研究一番,并且和另外的程序员说,你用的语言是垃圾,XX语言多好,而且有很多特性。。。

可能这就是做营销界的最高理想:口碑传播。

而且物以稀为贵,往往用这类“新语言”的人,薪资特遇会比较高。对于某些企业主来说,你说这个语言这么好,又时髦,保证几年不过时。那好就上呗。当然上了有没有好结果,那就不是语言的问题了,名利双收,谁不喜欢。这几种因素互相促进,就会形成一种传播的力量,这种力量是很大的,大到让人很难做出正确的判断。虽然说大浪淘沙,始见真金。但是如果少一些曲折和反复,这短暂的人生也会让人感觉更有意义一些的。

现在通用的编程语言,可以说是人类最好的项目,不管是谁推出来的,至少我们现在免费在用。我们用这些免费的编程语言,创造了这个五彩缤纷的软件的世界。我当然不希望某些商业公司掌控着这些语言(不管他们是不是免费),商业公司掌控语言对程序员没有什么好处。如果天下一直太平,阴谋家就没什么机会,所以要时不时搞点大新闻。编程语言这块,如果大家都一成不变,那些专家岂不是英雄无用武之地。因为大多人都是盲从,要判断一个语言的优劣,是不容易的。退一万步,还有“人笨怪刀钝”来堵你的嘴。

意大利开个会,就能决定全球的时尚潮流。谷歌微软等巨头开个会,也能在软件领域掀想一番波澜。但是我们如果变得更实在一些,编程的本质还是没有变的。如果这二十年都是在炒冷饭,那么我们现在用的,就是真金。