為什么中國沒有誕生世界流行的編程語言?
Java, C, C++, Go, JavaScript ...... 這些著名的編程語言都是美帝搞出來的,Python是荷蘭人發(fā)明的,Ruby 是日本人發(fā)明的,Lua 是巴西人發(fā)明的。
到目前為止,還沒有一個誕生于中國的、世界流行的編程語言。
我覺得原因很簡單,國內還沒有誕生優(yōu)秀編程語言的土壤。
編程語言的一般產生于三個地方,大學/研究所,IT公司,有興趣的個人。
美帝的IT行業(yè)雄霸全球,***世界潮流,基礎軟件像操作系統,數據庫,編譯器,網絡協議棧都是他們搞出來,技術實力超強,他們是新技術的發(fā)源地,編程語言層出不窮也很正常。
我們的計算機行業(yè)發(fā)展歷史很短暫,人才尤其是***人才的儲備遠不如美國,再加上體制的原因,我對國內的大學和研究所不抱希望。
中國雖然有很多體量很大的互聯網公司, 但主要還是在應用層折騰,使用別人的語言來實現業(yè)務。
國內的互聯網創(chuàng)新大多停留在業(yè)務模式,商業(yè)模式的創(chuàng)新上面,當實現業(yè)務,搶占市場和用戶是***需求的時候,發(fā)明新的編程語言根本就不在日程之上。
于是發(fā)明新的語言只能依賴個人的興趣,但是編程語言不像框架和類庫,只要你開發(fā)出來一個好用的/性能高的,自然就會有人去使用,去star, 去傳播。
編程語言不僅僅是語言,它是一個生態(tài)系統,光有語法還不行,得有配套的類庫,框架,平臺。 這一套想搞起來,需要投入大量時間和精力去維護、改進、推廣,個人力量是搞不定的,必須得有一個社區(qū)。
即使如此,也不一定能等到爆發(fā)的那一刻, 因為編程語言的流行也有很大的運氣成分和偶然性。
Java 最初的設計目標是消費類電子產品,經過了初期的失敗,走過了很多彎路,不得已才轉戰(zhàn)互聯網,踏上了時代的浪潮,迅猛發(fā)展。
Python的作者 Guido Van Rossum想用Shell在Amoeba這個操作系統上做點兒系統管理的工作,但是沒法調用Amoeba獨有的系統API, 用C的話又太重,所以就發(fā)明了Python。 他當年絕對想不到Python發(fā)展了多年以后居然會隨著云計算,人工智能等火爆起來。
Ruby也是類似,如果沒有Ruby on Rails這個框架找到了一個適用場景: 快速、干凈地開發(fā)Web2.0程序, 估計它還是默默無聞。不過Ruby在移動計算,大數據,AI這些領域就沒有什么聲音。
Lua原來一直在游戲領域做腳本語言,這些年才隨著OpenResty,Redis 開始進入大眾的視野。
國內的程序員動輒996,被三座大山壓迫著,誰有時間和精力愿意去做一個看不到盡頭的東西呢?
還有,有多少躍躍欲試的人是被《編譯原理》給嚇回去了呢? ^_^
不過中國互聯網行業(yè)發(fā)展得很快,二十年前國內能拿得出手的開源軟件都很少,也就是LIDS, LVS, MingGUI等寥寥幾個,現在僅僅是阿里巴巴就有一大批了, 從Linux內核,JVM,到分布式文件系統,微服務框架,消息隊列,有一些產生了***的影響力。
隨著時間的推移,中國的IT業(yè)早晚會發(fā)展到一個階段,和美帝并駕齊驅,在這個階段遇到的問題是現有語言搞不定的, 肯定會有某些公司或者個人站出來,發(fā)明新的編程語言,然后推廣到全世界。
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉載請通過作者微信公眾號coderising獲取授權】