以銅為鑒,可正衣冠;以古為鑒,可只興替;以人為鑒,可明得失。
了解和學習一門語言、一個系統乃至方方面面的任何東西時,如果不知道其歷史和現狀而只是一上來就一味地悶頭苦學,你就很容易“一葉障目不見泰山”。這樣火急火燎的就上手苦干,私以為大錯特錯,所謂“學而不思則罔”。當然,上手苦干也是之後的很重要的部分。
了解C語言的歷史,就不得不慢慢品味如下這long long ago 的故事,這涉及到了很多公司和人物
C語言和Unix起源與貝爾實驗室,而要了解貝爾實驗室,我們得先從at&t 開始……
由名字就可以看出來at&t 主要致力於通訊領域。要說at&t 還得從一個叫貝爾 的人說起…
我不是說貝爾·格裡爾斯(Bear Grylls)雖然我很佩服這guy…
主角叫亞歷山大·格拉漢姆·貝爾(Alexander Graham Bell,1847-1922)是美國著名發明家和企業家,是“電話之父”。
貝爾 成立了一家叫做美國貝爾電話公司 的公司,這就是at&t 的前身,而它最著名的部門就是:貝爾實驗室<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPqGjPC9wPg0KPHA+PHN0cm9uZz48ZW0+YXQmYW1wO3Q8L2VtPjwvc3Ryb25nPiDU2sbkMTAwtuDE6rXEwPrKt9bQo6y+rcD6wcu24LTOtcSy8LfWus3W2Nfpo6jTydPa19TJ7bei1bm78srH1f64rre0wqK2z6OpoaM8YnIgLz4NCtT4vfG1xDxlbT5hdCZhbXA7dDwvZW0+ILPGzqo8c3Ryb25nPjxlbT6xtLb7z7XNszwvZW0+PC9zdHJvbmc+IMv8sPzAqMS4uavLvjxlbT5hdCZhbXA7dDwvZW0+ILrNyv3Bv8XTtPO1xNfTuavLvrrN0dC+v8v5o6zU+LOkxtrCorbPwcs4MCUtOTAltcTDwLn6ytC7sLrNs6TNvtK1zvGho7b4tb298czso6zP1tTatcQ8ZW0+YXQmYW1wO3Q8L2VtPiDS0b6tysexu7Lwt9bBy7y4tM7WrrrztcS94bn7wcuhozwvcD4NCjxwPsHtzeKjrL3xzOzDwLn6TkJB1tDC7bTMttOjqFNhbiBBbnRvbmlvIFNwdXJzo6m1xNb3s6G+zb3QPGVtPmF0JmFtcDt0IENlbnRlcjwvZW0+PC9wPg0KPHA+PGltZyBhbHQ9"這裡寫圖片描述" src="/uploadfile/Collfiles/20160502/20160502112233299.jpg" title="\" />
2002年6月15日,美國國會通過一項決議,判定意大利人安東尼奧·梅烏奇(Antonio Meucci)為電話的發明者。換言之他才是“電話之父”!那麼歷史到底是怎樣的呢?
根據可以網上可以查到的資料顯示:
意大利人梅烏奇在1849年的一天在他研究電生理學的過程中發現了“電話的原理”並開始研究他稱之為“會說話的電報機”的裝置。此時,亞歷山大·貝爾才兩歲…
在移居美國之後,因為不會英語的關系他始終融入不進主流社會,得不到應有的認可,甚至他連申請專利的錢都不夠。更加讓人心寒的是,1876年和梅烏奇共用一個實驗室的貝爾向美國專利局提出申請電話的專利權!
當然,梅烏奇憤而提起上訴,當時最高法院已經同意以欺詐罪指控貝爾,但就在勝利曙光要顯現時,年近80窮困潦倒、病魔纏身的梅烏奇卻於1889年帶著遺憾離開了人世。
歷史就是如此具有魔力,成王敗寇,從來如此。貝爾獲得了電話的專利權,成為“電話之父”,名聲大噪,創建了貝爾電話公司(at&t前身)。自此,歷史的車輪一直走到了今天。當然,我們不能因為一點而完全否認一個人,貝爾還是為社會、科技的發展作出了卓越的貢獻!
後人只能從當時留下的不知真假的只言片語中猜測當時發生了什麼。如果以上是真實的歷史,那麼我相信隨著美國國會的一紙決議,梅烏奇終於可以稍感欣慰了。
貝爾實驗室如雷貫耳,自1925年以來,實驗室共獲得了兩萬五千多項專利(請自行與國內大部分扯淡專利區分開來),8項諾貝爾獎
如上所述,貝爾實驗室 原屬於at&t 。
今天的貝爾實驗室 是從原at&t 中拆分出來的朗訊公司(Lucent Technologies) 的一部分。
確切的說,由於法國阿爾卡特(Alcatel)公司於2006年收購了朗訊,在合並後的新公司中,朗訊只占40%,其合並後的規模僅次於美國思科。
名字叫做阿爾卡特-朗訊(Alcatel - Lucent),貝爾實驗室屬於阿朗。
貝爾實驗室的歷史如下
貝爾獲得了電話專利
貝爾建立貝爾電話公司
貝爾電話公司分離出at&t公司專門負責全美長途業務
at&t整合原貝爾電話公司
at&t收購西方電子研究部門並建立貝爾電話實驗室,即貝爾實驗室
at&t因壟斷被拆分
at&t再次被拆分,貝爾實驗室和設備制造部門被獨立出來成立朗訊科技公司
阿爾卡特收購朗訊組成阿而卡特-朗訊,貝爾實驗室也一起合並
貝爾實驗室現在屬於阿朗公司
貝爾實驗室其實是專注於通訊領域的,但其對計算機軟件領域的影響卻也無與倫比。
20世紀60年代,貝爾實驗室的研究員Ken Thompson(肯·湯普森)發明了B語言,並使用B編了個游戲 - Space Travel,他想玩自己這個游戲,所以他背著老板找到了台空閒的機器 - PDP-7,但是這台機器沒有操作系統,於是Thompson著手為PDP-7開發操作系統,後來這個OS被命名為 - UNIX
1971年,Ken Thompson的同事D.M.Ritchie(DM裡奇),也很想玩Space Travel,所以加入了Ken Thompson,合作開發UNIX,他的主要工作是改進Thompson的B語言。
最終,在1972年這個新語言被稱為C,取BCPL的第二個字母,也是B的下一個字母。
Ken Thompson(left)和D.M.Ritchie(right)
1973年,C主體完成。Ken Thompson和D.M.Ritchie迫不及待的開始用C語言完全重寫了UNIX。此時編程的樂趣已經使他們完全忘記了那個“Space Travel”,一門心思的投入到了UNIX和C語言的開發中。自此,C語言和UNIX相輔相成的發展至今。
C語言、C語言的起源以及類似C語言的編程語言的歷史太過冗長,我簡單總結列表如下:
CPL(Combined Programming Language) - 1963
CPL是1963年劍橋大學發明的
BCPL(Base Combined Programming Language) - 1967
劍橋的Matin Richards 對CPL做了簡化,推出了BCPL
B(B Programming Language) - 1969
貝爾實驗室的Ken Thompson(肯·湯普森) 對BCPL又做了改進,設計出了簡單的且接近硬件的B語言,並用B語言寫了第一個UNIX OS
C(C Programming Language) - 1972
貝爾實驗室的另外一個人Dennis MacAlistair Ritchie(D.M.Ritchie - DM裡奇)在B的基礎上設計出了C語言。C 保持了B的優點(精煉、接近硬件),又克服了他的缺點(過於簡單,數據無類型)
C++(C plus plus Programming Language) - 1983
還是貝爾實驗室的人,Bjarne Stroustrup(本賈尼·斯特勞斯特盧普) 在C語言的基礎上推出了C++,它擴充和完善了C語言,特別是在面向對象編程方面。一定程度上克服了C語言編寫大型程序時的不足。
Java(Java Programming Language) - 1995
Sun公司的Patrick Naughton的工作小組研發了Java語言,主要成員是James Gosling(詹姆斯·高斯林)
C#(C Sharp Programming Language) - 2000
Microsoft公司的Anders Hejlsberg(安德斯·海爾斯伯格)發明了C#,他也是Delphi語言之父。
隨著時代和社會的發展,編程語言也跟著發生了很大的改變,舊有的語言不斷的完善、添加新特性;同時,也有很多優秀的新編程語言出現。
一個個字符,隨著敲擊鍵盤的哒哒聲,經由或是懵懂或是老練的程序員指尖的躍動,最終呈現為顯示器上一行行的代碼。它們就這樣,一行接一行隨著回車與換行不停的跳動。那,是眼前這個人悅動的靈魂,它一點一點、一行行慢慢的實現著屏幕前這個程序員的夢想,也一點點,一步步推動著時代的發展,社會的變遷。
Hello World!