一切遠未結束

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統

每個軟件工程師都感覺到這是個激動人心的時刻。

    對于發明家和探險者來說,每一個未知領域都充滿誘惑。在這些領域的探索是艱難甚至充滿危險的,但先行者得到的回報也很豐厚。未知世界如此廣袤,所有的秘密期望人們去發現,無數的奇跡等待我們去創造。

    上世紀50和60年代,就是那樣一個時期。計算機是新興學科,你應該聽說過這個領域的一些先驅,比如Edsger Dijkstra[譯注1]和Tony Hoare爵士[譯注2]。但你是否知道所有眩酷技術的原型在電子計算機出現不久的50和60年代就完成了?想想過去15年里主要的所謂新技術——垃圾收集,不是Java而是McCarthy[譯注3]于1958在Lisp里發明的,并在1960年發表了論文;面向對象編程,不是Smalltalk或C++而是Simula發明的,1965年趨于成熟并在1967年發表論文;參數化泛型,也不是Ada或C++而是Strachey在1967年提出的。1967年是計算機歷史上標志性的一年,ARPANET的第一次設計會議也是在這年召開的。

    但要讓普通程序員從這些技術受益,則還需要做大量工作,包括深入研究如何讓這些技術具備廣泛可用性(比如Mosaic公司(實現了瀏覽器Netscape)),將它們應用到最終產品里去。聰明人開發了Smalltalk、C++、Java、C#、Python等等很多編程語言,并在編程實現上做了大量工作,軟件工業的巨大飛躍,應該歸功于他們,這是他們無尚的光榮。

    當想到在我們的父輩腋下夾著厚厚一摞打孔卡片,沿著山路向學校走去時(當時能有機會接觸性能比現在你用的PDA都相差很遠的大型計算機的人,是鳳毛麟角啊,假設我們的父輩是那時的幸運兒),今天看似異常熱門的所有技術在就已經存在的時候,真是倍感羞恥啊。還好,是Java將垃圾收集機制帶給大眾,Smalltalk讓面向對象走下神壇,C++推廣了泛型——而現在的我們,則打算在并發控制和并行計算編程領域做出同樣的成績。

    我們試著想想:在計算機歷史上,主流架構第一次不再是諾依曼體系,那個時代一去不復返了,現在,是并行的新紀元。在個人電腦普及的道路上,我們已經獲得了巨大成功,現在,我們要致力于推動Cray(譯者注:美國超級計算機)這樣的超級計算機進入千家萬戶。這是一個產生大量機遇的時代,我們有大量工作要做。真的,并發控制(從理論上)已經實現,也有很多優秀的專家(如Hoare發表了奠基性的論文《通訊順序進程》[譯注4])和公司(如Cray),在并行計算領域研究多年。但絕大多數程序員和開發環境、工具的則落后很遠,現在,我們的目標就是將并發控制和并行計算推向大眾,讓普通程序員掌握和運用這些技術。

    我在2004年底的演說《免費午餐即將結束——軟件歷史性地向并發靠拢》里講到:“軟件開發史上,自面向對象降生以來的又一個巨變已經叩向我們的房門,那就是并發。”正在醞釀中的并發變革,將像上世紀80年代末90年代初面向對象變革猛烈撞擊編程語言和工具一樣,產生深遠影響。在90年代初期,我們頻繁奔波于讓人腦子發木的主題為“何為對象”、“什么是虛函數”的討論會,而今后數年里,我們將同樣繁忙,腦子同樣緊張的參加各種會議,不過主題將變成“什么是活躍對象”、“何為future[譯注5]”。這個過程實際上已經開始了。

    數世紀之前,伽利略發明了望遠鏡,牛頓提出了引力定律。在那個世紀以及接下來的三個世紀里,不少研究人員理所當然的認為他們能做的,僅僅是一些改進性工作。但事實是仍然有大量開創性工作可做,不信你們問愛因斯坦、Robert Goddard和Wernher von Braun[譯注6]。的確,伽利略是發現月球表面不規則、銀河[譯注7]是由星球表面包裹的稠密氣體層構成之第一人。但現代人已經可以在月球表面行走,另一些人正在繪制星系、超星系和宇宙本底輻射[譯注8]地圖。伽利略能看到個別可能正處于穿越銀河系半路上的星球,而我們現在知道他的視野該到5萬光年[譯注9]。據估算,我們今天的視覺能力可達數十億光年。真是慶幸啊,似乎伽利略和牛頓已經把所有有趣的事情干完了,但愛因斯坦和Braun沒有因此投身別的領域;歐幾里得[譯注10]和阿基米德好像做完了一切大事,但伽利略和牛頓并沒有認為物理學已經完蛋。

    有時候,我們似乎覺得所有重要工作在上世紀50和60年代都干完了,先人們真是幸福啊,有那么多新奇的事情和有趣的秘密等著他們。但事實是我們的工業仍然處于幼年。我們景仰伽利略和牛頓做出的偉大貢獻,但他們是站在更早的巨人肩上的,就像我們現在站在他們肩上一樣。

    對于軟件工程師來說,這是一個令人振奮的時代。在這個十年剩下的幾年,以及下個十年的數年間,就像過于在面向對象、垃圾收集和互聯網領域那樣,我們將在并發控制上努力;在前輩們已取得的成績基礎上,發展他們的思想并普及大眾。這需要我們充分利用過去已經產生的最好的技術,不斷發展新技術,開發出高可用性產品,在實踐中廣泛應用。不再像面向對象和互聯網技術革新時代,今天,我們將能親眼目睹并發變革的到來!

    幾乎在每個時代都能產生一些重大變革,同時,我們的軟件和開發環境得到發展和改善。每一次,我們都小心翼翼地調整方向,然后加速行駛到下一個路口。就這樣,我們經歷了結構化編程、PC普及、面向對象和互聯網變革。現在在并發和并行道路上,難免迂回曲折,我們應該做好排除前進路上一切障礙的準備。

    朋友,讓我們奮勇前進吧!新的天地等候著我們!

 

 

譯注1

    Edsger Wybe Dijkstra(1930-2002):荷蘭科學家。1950年代ALGOL語言主要發明人之一,設計實現了第一個ALGOL60編譯器;THE操作系統的設計者和開發者;現代編程語言之父,為程序語言結構、表示方法和實現做出了巨大貢獻,研究領域還涉及圖論、計算機教育、編程語言哲學等。

    1972年,成為第七位圖靈獎獲得者。

    他也是第一個提出不宜過分使用GOTO的人,是著名的Dijkstra 最短路徑算法的作者。

    在與癌癥進行了多年的斗爭之后,于2002年在荷蘭家中與世長辭。

 

譯注2

    Tony Hoare(1934-):生于斯里蘭卡,父母為英國人,主要工作地為英國。他實現了ALGOL60編譯器;在程序語言定義與設計領域做出了杰出貢獻,包括Hoare Logic、Quicksort算法和CSP(Communication Sequential Processes)等。

    2000年,因其在計算機科學和教育方面的杰出貢獻被英國皇家授予爵士爵位。

    1980年,成為第十七位圖靈獎獲得者。

 

譯注3

    McCarthy(1927-):美國人。人工智能之父,Lisp語言的主要發明人。

    1971年,成為第六位圖靈獎獲得者。

 

[譯注4]

    CSP(Communicating Sequential Processes),Tony Hoare提出。是一個精確的并發數學理論,可以用來構建多線程應用程序,確保構建的程序中不出現并發的常見問題,而且更重要的是,這一點能夠得到證實。

 

[譯注5]

    參見http://blog.csdn.net/hsutter/archive/2006/08/03/1014911.aspx譯注1。

 

[譯注6]

    Robert Goddard(1882-1945):美國人,現代火箭科學的創始人之一。1926年設計、制造和發射了世界上第一枚液態燃料火箭(見下圖),爬升高度為12米,在全程2.5秒的試飛中僅飛行了55米。他畢生都在宣揚火箭是探測月球的可行工具,因此常被報章媒體取消。一生擁有200項火箭科技專利。1969年,根據他的理論建造的液態火箭,終于將人類送上月球。

    他還于1909年最早提出了磁懸浮列車概念。

 

    Wernher von Braun(1912-1977):生于德國,13歲時就用6支特大焰火把自己綁在滑板車上,點燃導火索進行飛行試驗。1932年,布勞恩參加德國導彈研制的計劃,領導火箭的研制。二次大戰后,布勞恩作為“頭腦財富”來到美國,担任美陸軍導彈局發展處處長。他先后研制成紅石、丘比特、潘興式導彈。其中丘比特C型火箭,是美國第一顆人造衛星發射成功的關鍵保障。1961年美國宣布實施阿波羅載人登月計劃。布勞恩成為總統空間事務科學顧問,分管阿波羅工程,直接主持土星5號運載火箭的研制工作。1970年,布勞恩任美國國家航空和航天局副局長,并兼任馬歇爾航天中心主任。在兩年任期內,布勞恩完成了航天飛機的初步設計。

 

譯注7

    原文為“Milky Way”。1920年代末,趙景深先生根據英譯本翻譯了契珂夫小說《萬卡》,其中“Milky Way”一詞先生翻譯為“牛奶路”,這個譯法被魯迅先生作文(《風馬牛》)批判,最后成為文壇著名的笑談。不過更深層地考查,Milky這個詞也有特定的文化意象,希臘傳說中銀河是天后赫拉發怒時灑落的乳汁所變成的一條路,供奧林帕斯山眾神上下山之用。

 

譯注8

    原文為“universal background radiation”,也譯作“宇宙背景輻射”。

    現代宇宙學是愛因斯坦創立廣義相對論后,把廣義相對論應用于宇宙學研究而開創出來的。現代宇宙學的核心內容是大爆炸(Big Bang),而哈勃膨脹(Hubble Expansion)、宇宙微波本底輻射(CMBR,Cosmic Microwave Background Radiation)和大爆炸核合成(BBN,Big Bang Nucleosynthesis)則是大爆炸宇宙學的三大基石。

    美國國家航空航天局(NASA)曾發布了詳細的全天空宇宙微波本底輻射地圖。證實宇宙大部分是由神秘的暗能量和暗物質組成的,并且給出了宇宙的確定年齡和精確的膨脹速度。

    宇宙大爆炸發生后,早期宇宙是極高溫度和極高密度的均勻氣體,隨著宇宙的膨脹,宇宙的溫度會降低,當溫度降低到退耦溫度(Td=0.26eV,相當于3000K)以下時,質子與電子會復合生成氫原子并放出光子。當大多數自由電子被質子俘獲后,光子就可以自由地在宇宙中傳播,即宇宙對光子變得透明了,這就是我們能夠觀察到的宇宙中最古老的光,它攜帶了宇宙大爆炸后遺留下來的信息。由于宇宙學紅移,我們現在觀察到大爆炸后遺留下來光子頻率的極大值已經移動到了微波波段,這就是宇宙微波本底輻射。

 

譯注9

    銀河系的半徑是五萬光年。另,地球距離銀心大致有兩萬六千光年。

 

譯注10

    歐幾里得(約前330-前275):古希臘偉大數學家。早年在雅典受教育,熟知柏拉圖的學說。公元前300年左右,受托勒密王(前364-前283)之邀,到埃及統治下的亞歷山大城工作,長期從事教學、研究和著述。他寫過不少數學、天文、光學和音樂方面的著作,而以巨著《幾何原本》最聞名于世。《原本》原有13卷,后人又補充2卷。這本著作的原稿早已失傳,現存的是公元4世紀末西翁的修訂本和18世紀在梵蒂岡圖書館發現的希臘文手抄原本。這部西方世界現存最古老的數學著作,為2000年來用公理法建立演繹的數學體系樹立了最早的典范。從1482年到19世紀末,《原本》竟用各種語言出了1000版以上。明朝萬歷年間(1607),徐光啟和意大利傳教士利瑪竇把前6卷譯成中文出版,定名為“幾何原本”。


轉載 2011-02-22 19:38:29

[新一篇] 一個關于項目管理的通俗講解

[舊一篇] 丁磊:那時候我們除了會寫軟件 什么也不會做
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表