再谈编程语言之争
寫文章和寫程序,都是寫,寫文章的人叫文人,寫程序的叫程序員。古語說文人相輕,很多程序員也有這毛病,程序員互相看不起,行話做叫“鄙視鏈“。體現在編程語言上,就是用編程語言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語言多好,而且有很多特性。。。
可能這就是做營銷界的最高理想:口碑傳播。
而且物以稀為貴,往往用這類“新語言”的人,薪資特遇會比較高。對于某些企業主來說,你說這個語言這么好,又時髦,保證幾年不過時。那好就上唄。當然上了有沒有好結果,那就不是語言的問題了,名利雙收,誰不喜歡。這幾種因素互相促進,就會形成一種傳播的力量,這種力量是很大的,大到讓人很難做出正確的判斷。雖然說大浪淘沙,始見真金。但是如果少一些曲折和反復,這短暫的人生也會讓人感覺更有意義一些的。
現在通用的編程語言,可以說是人類最好的項目,不管是誰推出來的,至少我們現在免費在用。我們用這些免費的編程語言,創造了這個五彩繽紛的軟件的世界。我當然不希望某些商業公司掌控著這些語言(不管他們是不是免費),商業公司掌控語言對程序員沒有什么好處。如果天下一直太平,陰謀家就沒什么機會,所以要時不時搞點大新聞。編程語言這塊,如果大家都一成不變,那些專家豈不是英雄無用武之地。因為大多人都是盲從,要判斷一個語言的優劣,是不容易的。退一萬步,還有“人笨怪刀鈍”來堵你的嘴。
意大利開個會,就能決定全球的時尚潮流。谷歌微軟等巨頭開個會,也能在軟件領域掀想一番波瀾。但是我們如果變得更實在一些,編程的本質還是沒有變的。如果這二十年都是在炒冷飯,那么我們現在用的,就是真金。
總結
- 上一篇: go zap + lumberjack
- 下一篇: 多线程之争用条件