沒(méi)錯(cuò),我們和美帝的差距就是這么大
程序員都知道,美帝在計(jì)算機(jī)領(lǐng)域非常厲害,我們和美帝的差距很大,但是到底有多大呢?
我們平時(shí)忙于寫(xiě)代碼,沒(méi)有精力對(duì)技術(shù)做追根溯源, 所以也就沒(méi)有直觀的、切身的體會(huì)。
最近畫(huà)了幾篇計(jì)算機(jī)技術(shù)溯源的漫畫(huà),接觸到了細(xì)節(jié)以后,真是越來(lái)越心驚:
美帝在這個(gè)領(lǐng)域的積累實(shí)在是太深厚了,我們和美帝的差距實(shí)在是太大了。
1
比如平時(shí)經(jīng)常用的關(guān)系數(shù)據(jù)庫(kù),大家可能都知道的是這些:
關(guān)系理論是美國(guó)人科德1970年提出來(lái)的。
SQL也是美國(guó)人張伯倫和博伊斯在IBM發(fā)明的。
事務(wù)處理技術(shù)是美國(guó)人Jim Gray開(kāi)創(chuàng)的,他提出了原子性(A),一致性(C)和持久性(D)。
但是很多人不知道的是:
B Tree是美國(guó)人Edward M. McCreight和德國(guó)人Rudolf Bayer 在美國(guó)波音工作時(shí)發(fā)明的,它的變體B+ Tree是數(shù)據(jù)庫(kù)索引的基礎(chǔ),率先被應(yīng)用到IBM 的VSAM 中。
IBM的System R最早在數(shù)據(jù)庫(kù)查詢優(yōu)化中使用了動(dòng)態(tài)規(guī)劃(這也是美國(guó)人Richard Bellman在50年代發(fā)明的算法)。
關(guān)系數(shù)據(jù)庫(kù)在剛興起的時(shí)候受到網(wǎng)狀數(shù)據(jù)庫(kù)“無(wú)情”地打壓,網(wǎng)狀數(shù)據(jù)庫(kù)的掌門(mén)巴赫曼和科德還有一場(chǎng)著名的論戰(zhàn)。
后來(lái)IBM通過(guò)System R, 加州大學(xué)伯克利分校通過(guò)Ingres才證明了關(guān)系數(shù)據(jù)庫(kù)的能力,Oracle 通過(guò)和美國(guó)政府的項(xiàng)目才讓SQL成為標(biāo)準(zhǔn),然后在八九十年代,各個(gè)產(chǎn)品Oracle ,Sybase, Db2, SQL Server, Informix,MySQL等百花齊放。
很可惜,這些精彩的故事發(fā)生的時(shí)候,我們還在折騰,還在緩慢回血中。
2
再比如編程語(yǔ)言, JavaScript 是前端的王者,布蘭登在設(shè)計(jì)它的時(shí)候,借鑒了很多語(yǔ)言:
- 基本語(yǔ)法借鑒了C (貝爾實(shí)驗(yàn)室) 和 Java(Sun公司);
- 函數(shù)借鑒了Scheme (MIT);
- 原型繼承借鑒了Self (施樂(lè)PARC);
- 正則表達(dá)式借鑒了Perl (美國(guó)人Larry Wall)
- 字符串和數(shù)組處理借鑒了Python (荷蘭人Guido van Rossum)
除此之外,我們耳熟能詳?shù)恼Z(yǔ)言還有 :
- Smalltalk(施樂(lè)PARC)
- C++(貝爾實(shí)驗(yàn)室)
- C#(微軟)
- VB(微軟)
- Go(Google)
- Lisp(約翰·麥卡錫)
甚至連讓兒童學(xué)習(xí)編程的LOGO (MIT), Scratch (MIT)也都誕生在美國(guó)。
從過(guò)程性語(yǔ)言到面向?qū)ο?,從命令式到函?shù)式,從編譯到解釋,再到虛擬機(jī),美帝玩得風(fēng)生水起。
3
在操作系統(tǒng)這個(gè)大冰山上,程序員日??吹降氖歉≡谏厦娴腤indows (微軟), Linux(開(kāi)源), Mac (蘋(píng)果),Andorid (Google), iOS (蘋(píng)果)
冰山之下,是大型機(jī),小型機(jī),PC長(zhǎng)達(dá)幾十年的爭(zhēng)斗和“累累白骨”。
- OS/360 (IBM的世紀(jì)豪賭)
- CTSS (MIT實(shí)現(xiàn)的第一個(gè)分時(shí)共享系統(tǒng))
- Multics (通用電氣和貝爾實(shí)驗(yàn)室)
- VAX/VMS (DEC)
- Unix (貝爾實(shí)驗(yàn)室)
- BSD (加州大學(xué)伯克利分校開(kāi)發(fā)的Unix 分支)
- CP/M (Gary Kildall 開(kāi)發(fā)的PC 操作系統(tǒng) )
- DOS(微軟)
- OS/2 (IBM)
- NeXTSTEP (喬布斯的NeXT公司開(kāi)發(fā)的操作系統(tǒng))
在計(jì)算機(jī)體系機(jī)構(gòu)領(lǐng)域,美國(guó)誕生了存儲(chǔ)程序,RISC等原創(chuàng)思想,爆發(fā)過(guò)RISC和CISC之間的激烈戰(zhàn)爭(zhēng)。
Sun公司的SPARC處理器,DEC 的Alpha,SGI 的MIPS,Intel 的RISC處理器 i860, i960,IBM 的Power都曾參戰(zhàn)。
在網(wǎng)絡(luò)和通訊領(lǐng)域,有香農(nóng)的信息論,分組交換思想,以太網(wǎng),路由器,TCP/IP......
虛擬化,編譯器,快速排序,RSA算法, 鼠標(biāo),GUI, MVC,RPC.....
這個(gè)列表還不包括應(yīng)用層的軟件(Apache, Tomcat,Hadoop, Docker, k8s.....), 如果繼續(xù)羅列下去,這個(gè)列表會(huì)很長(zhǎng)很長(zhǎng), 我不再列了。
4
看到這里,你可能會(huì)理解任正非所說(shuō)的話了:美國(guó)仍然是世界的科技燈塔,我們?nèi)匀灰磺邢蛳冗M(jìn)的人學(xué)習(xí)。
計(jì)算機(jī)這座大廈幾乎是美國(guó)人構(gòu)建起來(lái)的,這句話毫不為過(guò)。
我經(jīng)常在想,中國(guó)的IT業(yè)起步雖晚, 但這二十多年也發(fā)展得很快,誕生了幾個(gè)世界級(jí)的互聯(lián)網(wǎng)巨頭,為什么一直沒(méi)有誕生原創(chuàng)性的、有世界級(jí)影響力的發(fā)明和創(chuàng)造呢?
可能有人會(huì)反對(duì),中國(guó)也有很多開(kāi)源的優(yōu)秀軟件嘛,沒(méi)錯(cuò),是有很多,但是這些軟件在原創(chuàng)性上還遠(yuǎn)遠(yuǎn)不夠。
比如Dubbo,這是個(gè)很優(yōu)秀的、高性能的分布式服務(wù)框架,但是它的本質(zhì)是什么呢?RPC !Dubbo在RPC的基礎(chǔ)上加上了服務(wù)的調(diào)度、發(fā)現(xiàn)、監(jiān)控、治理,相當(dāng)于擴(kuò)展。
而RPC是在1981年,卡耐基梅隆的計(jì)算機(jī)博士Bruce J. Nelson發(fā)明的技術(shù)。從那以后相繼出現(xiàn)了CORBA, Java RMI, XML-RPC, SOA等各種技術(shù),Dubbo和他們一脈相承。
相比而已,Rayan Dahl發(fā)明的Node.js原創(chuàng)性更高,因?yàn)樗晒Φ匕袹avaScript、異步IO、Http Server等技術(shù)組合起來(lái),達(dá)成了把JavaScript搬到了服務(wù)器端的革命。
5
有人可能要說(shuō),你對(duì)中國(guó)的期待太高了,在計(jì)算機(jī)領(lǐng)域,除了美國(guó)以外,別的國(guó)家都不怎么樣嘛。
這句話也不準(zhǔn)確, 芬蘭誕生了Linux , MySQL , 瑞典的愛(ài)立信發(fā)明了Erlang ,英國(guó)有ARM , 瑞士有Pascal。
以色列能發(fā)明ICQ,防火墻,荷蘭人能發(fā)明Python, 日本能發(fā)明Ruby, 巴西能發(fā)明Lua 。
再說(shuō)了,我們中國(guó)是個(gè)大國(guó),我們的理想可不僅僅是那些小國(guó)能比擬的, 我們可不僅僅想在幾個(gè)領(lǐng)域突破,而是要在各個(gè)領(lǐng)域,大范圍地碾壓。
我相信在中國(guó)應(yīng)該有一位這樣的天才程序員, 他也遇到了Rayan Dahl類似的業(yè)務(wù)場(chǎng)景,甚至想到了使用V8在服務(wù)器端運(yùn)行JavaScrpt的方法,但是他整天被需求壓得喘不過(guò)氣來(lái),業(yè)余時(shí)間被996榨干,回到家中,累得根本沒(méi)有時(shí)間和精力去鼓搗的Node.js......
我也相信中國(guó)有很多天才的小孩,他們的腦海中充滿著奇思妙想,就像信息論之父香農(nóng)那樣,特別擅長(zhǎng)把兩個(gè)不相干的領(lǐng)域拉扯到一起,激起思維的火花,只不過(guò)他們很難有機(jī)會(huì)去施展,因?yàn)閺男W(xué)開(kāi)始,他們的時(shí)間就要被大量重復(fù)的作業(yè)和各種培訓(xùn)班所占據(jù),要想讓他們自由發(fā)展,不走尋常路,家長(zhǎng)將會(huì)背上很大的風(fēng)險(xiǎn)。
大學(xué)畢業(yè),工作以后,這些天才又會(huì)被房子問(wèn)題、醫(yī)療問(wèn)題、孩子教育問(wèn)題絆住,他們很難像Rayan Dahl那樣自由生活,追隨興趣,不能去Think Different ,自然也很難做出原創(chuàng)性的發(fā)明和創(chuàng)造。
這種狀況會(huì)持續(xù)多久呢,什么時(shí)候會(huì)改變呢?