程式界的高手傳奇(轉)
程式界的高手傳奇(轉)[@more@](1)MIT BBS上說微軟電話面試的一道題就是“Who do you think is the best coder,and why?”。我覺得挺有意思的,也來湊個熱鬧。排名不分先後。Bill Joy, 前任Sun的首席科學家,當年在Berkeley時主持開發了最早版本的BSD。他還是vi和csh的作者。當然,Csh Programming Considered Harmful 是另一個話題樂。據說他想看看自己能不能寫個作業系統,就在三天裡寫了個自己的Unix, 也就是BSD的前身。當然是傳說了,但足見他的功力。另一個傳說是,1980年初的時候,DARPA讓BBN在Berkley Unix里加上BBN開發的TCP/IP程式碼。但當時還是研究生的B伯伯怒了,拒絕把BBN TCP/IP加入BSD,因為他覺得BBN的TCP/IP寫得不好。於是B伯伯出手了,端的是一箭封喉,很快就寫出了高效能的伯克利版TCP/IP。當時BBN和DARPA簽了鉅額合同開發TCP/IP Stack,誰知他們的程式碼還不如一個研究生的好。於是他們開會。只見當時B伯伯穿個T-shirt出現在會議室(當時穿T-shirt不象現在,還是相當散漫的哈)。只見BBN問:你怎麼寫出來的?而B伯伯答:簡單,你讀協議,然後程式設計就行了。最令偶暈倒的是,B伯伯碩士畢業 後決定到工業界發展,於是就到了當時只有一間辦公室的Sun, 然後他就把Sparc設計出 來樂。。。象這種軟硬通吃的牛人,想不佩服都不行的說。據Bill Joy的同事說,一般開會的時候B伯伯總是拿一堆雜誌漫不經心地讀。但往往在關鍵之處,B伯伯發言,直切要害,提出 漂亮的構想,讓同事們徹底崩潰。對了,他還是Java Spec和JINI的主要作者之一。(2)John Carmack,ID Software的founder和Lead Programmer。上個月和一個搞圖形的師兄聊天,他竟然不知道John Carmack, 也讓偶大大地暈了一把。不過也許搞研究的和搞實戰的多少有些隔吧。想必喜歡第一人稱射擊遊戲的都知道J哥哥。90年代初只要能在PC上搞個小動畫都能讓人驚歎一番的時候,J哥哥就推出了石破天驚的Castle Wolfstein, 然後再接再勵,doom, doomII, Quake...每次都把3-D技術推到極限。J哥哥的簡歷上說自己的專長是"Exhaust 3-D technology",真是牛人之言不我欺的說。做J哥哥這樣的人是很幸福的,因為各大圖形卡廠家一有了新產品就要向他“進貢”,不然如果他的遊戲不支援哪種卡,哪種卡基本就會夭折樂。當初MS的Direct3D也得聽取 他的意見,修改了不少API。當然,J哥哥在結婚前十數年如一日地每天程式設計14小時以上, 也是偶們凡人望塵莫及的。對了,J哥哥高中肆業(?),可以說是自學成才。不過呢,誰要用這個例子來為自己學習不好辯護,就大錯特錯了。那Leonardo Da Vinci還是自學成才呢(人是私生子,不能上學)。普通人和天才還是有區別的。對了,其實偶們叫“達分奇”是相當不對的,因為Vinci是地名,而Da Vinci就是從Vinci來的人的意思。換句話說,Leonardo Da Vinci就是“從Vinci來的Leonardo”的意思。叫別人“Da Vinci”就不知所謂樂。嗯,扯遠了,打住。(3)David Cutler,VMS和Windows NT的首席設計師,去微軟前號稱矽谷最牛的kernel開發員。當初他和他的手下在微軟一週內把一個具備基本功能的bootable kernel寫出來,然後說:“who can't write an OS in a week?",也是牛氣沖天的說。順便說一句,D爺爺到NT3.5時,管理1500名開發員,自己還兼做設計和程式設計,不改coder本色啊。D爺爺天生脾氣火爆,和人爭論時喜歡雙手猛擊桌子以壯聲勢。:-) 日常交談F-word不離口。他面試秘書時必問:"what do you think of the word 'fu*ck'?" ,讓無數美女剎羽而歸。終於有一天,一個同樣火爆的女面對這個問題脫口而出:"That's my favoriteword"。於是她被錄取樂,為D爺爺工作到NT3.5釋出。(4)Don Knuth。高爺爺其實用不著偶多說。學程式設計的不知道他就好像學物理的不知道牛頓,學數學的不知道尤拉,學音樂的不知道莫扎特,學Delphi的不知到Anders Hejlsberg,或者學Linux不知道Linus Torvalds一樣,不可原諒啊。:-)為了讓文章完整,就再羅唆幾句吧。高爺爺本科時就開始給行行色色的公司寫各種稀奇古怪的編譯器掙外快了。他賣給別人時收一兩千美元,那些公司拿了code,加工一下賣出去就是上萬上十萬。不過也沒見高爺爺不爽過,學者本色的說。想想那可是60年代初啊,高爺爺寫編譯器寫多了,順帶就搞出了個Attribute Grammar和LR(k),大大地造福後人啊。至於高爺爺在CalTech的程式設計比賽(有Alan Kay得眾多高高手參加)總是第一,寫的Tex到86年就code freeze,還附帶2^n美分獎勵等等都是耳熟能詳的,偶就不饒舌樂。順便說一下,高老大爺是無可爭議的寫作高手。他給Concrete Mathematics 寫的前言可謂字字鏗鏘,堪為前言的典範。他的技術文章也是一絕,文風細緻,解釋精當,而且沒有學究氣,不失輕快跳脫。記得幾年前讀Concrete Mathemathics,時不時開懷大笑,讓老媽極其鬱悶,覺得我nerdy到家,不可救藥。其實呢,子非魚,安知魚之樂,更不知那完全是高爺爺的功勞。說到寫作高手,不能不提Stephen A. Cook。他的文章當年就被我們的寫作老師極力推薦,號稱典雅文風的樣本。庫爺爺一頭銀髮,身材頎長,總是面帶謙和的微笑,頗有仙風道骨,正好和他的仙文相配的說。高爺爺其實還是開源運動的先驅。雖然他沒有象Richard Stallman那樣八方奔走,但他捐獻了好多作品,都可以在網上看到,比如著名的Mathematical Writing,MMIXWare,The Tex Book等,更不用說足以讓他流芳百世的Tex樂。(5)Ken Thompson,C語言前身B語言的作者,Unix的發明人之一(另一個是Dennis M.Riche老大,被尊為DMR),Belle(一個厲害的國際象棋程式)的作者之一, 作業系統Plan9的主要作者(另一個是大牛人Rob Pike, 前不久被google挖走了)。Ken爺爺也算是計算機歷史上開天闢地的人物了。1969年還是計算機史前時代,普通人都認為只有大型機才能運行通用的作業系統,小型機只有高山仰止的份兒。至於用高階語言來寫作業系統,更是笑談。Ken爺爺自然不是池中物,於是他和DMR怒了,在1969年到1970間用匯編在PDP-7上寫出了UNIX的第一個版本。他們並不知道,一場轟轟烈烈的UNIX傳奇由此拉開了序幕。Ken爺爺在1971年又把Unix用C重寫,於是C在隨後20年成就了不知多少豪傑的夢想和光榮。Ken爺爺還有段佳話: 裝了UNIX的PDP-11最早被安裝在Bell Lab裡供大家日常使用。很快大家就發現Ken爺爺總能進入他們的帳戶,獲得最高許可權。Bell Lab裡的科學家都心比天高,當然被搞得鬱悶無比。於是有高手怒了,跳出來分析了UNIX程式碼,找到後門,修改代碼,然後重新編譯了整個UNIX。就在大家都以為“這個世界清淨了”的時候,他們發現Ken爺爺還是輕而易舉地拿到他們的帳戶許可權,百思不解後,只好繼續鬱悶。誰知道這一鬱悶,就鬱悶了14年,直到Ken爺爺道出箇中緣由。原來,程式碼裡的確有後門,但後門不在Unix程式碼裡,而在編譯Unix程式碼的C編譯器裡。每次C編譯器編譯UNIX的程式碼,就自動生成後門程式碼。而整個Bell Lab的人,都是用Ken爺爺的C編譯器。:P(6)Rob Pike, AT&T Bell Lab前Member of Technical Staff ,現在google研究作業系統。羅伯伯是Unix的先驅,是貝爾實驗室最早和Ken Thompson以及Dennis M. Ritche開發Unix的猛人,UTF-8的設計人。他還在美國名嘴David Letterman的晚間節目上露了一小臉,一臉憨厚地幫一胖子吹牛搞怪。讓偶佩服不已的是,羅伯伯還是1980年奧運會射箭的銀牌得主。他還是個頗為厲害的業餘天文學家,設計的珈瑪射線望遠鏡差點被NASA用在航天飛機上。他還是兩本經典,The Unix Programming Environment 和 The Practice ofProgramming 的作者之一。如果初學者想在程式設計方面精益求精,實在該好好讀讀這兩本書。它們都有中文版的說。羅伯伯還寫出了Unix下第一個基於點陣圖的視窗系統,並且是著名的blit 終端的作者。當然了,羅伯伯還是號稱銳意革新的作業系統,Plan9,的主要作者。可惜的是,Plan9並沒有引起多少人的注意。羅伯伯一怒之下,寫出了振聾發聵的雄文Systems Software Research is Irrelevant,痛斥當下系統開發的不思進取,固步自封的弊病。雖然這篇文章是羅伯伯含忿出手,頗有偏激之詞,但確實道出了系統開發的無奈:開發週期越來越長,代價越來越大,使用者被統一到少數幾個系統上,結果越來越多的活動是測量和修補,而真正的革新越來越少。就在羅伯伯鬱悶之極的時候,google登門求賢來樂。如果說現在還有一家大眾公司在不遺餘力地把系統開發推向極致的話,也就是google樂。隨便看看google的成果就知道了。具有超強容錯和負載平衡能力的分散式檔案系統GFS (現在能夠用100,000臺廉價PC搭起一個巨型分佈系統,並且高效便宜地進行管理的系統也不多哈),大規模機器學習系統(拼寫檢查,廣告匹配,拼音搜尋。。。哪個都很牛的說),更不用說處理海量平行計算的各式google服務了。Rob在System Software Research is Irrelevant裡蕭瑟地說現在沒有人再關心繫統研究的前沿成果了。想不到他錯了,應為google關心。google網路了大批功成總是試圖吸取系統研究的最新成果。想必Rob Pike在google很幸福。願他做出更棒的系統.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945056/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 老樹常青!SQL為何成為程式設計界的不敗傳奇?SQL程式設計
- Linux 傳奇 (轉)Linux
- 傳奇程式設計師Larry Wall:Perl的樂趣 (轉)程式設計師
- 一個程式設計師的江湖傳奇程式設計師
- 傳奇盒子app排行榜 找傳奇手遊的appAPP
- gm版傳奇手遊平臺 最大的傳奇手遊平臺
- 百度為AI界打造“同傳高手”或將緩解同傳人員稀缺問題AI
- 傳奇手遊哪個版本好玩 人氣最高的傳奇手遊排行
- 最好玩的傳奇手機遊戲 手機傳奇遊戲排行榜遊戲
- 傳奇程式設計師Larry Wall:Perl的樂趣程式設計師
- 傳奇盒子平臺有哪些 傳奇遊戲盒子大全遊戲
- 最火的傳奇手遊排行榜 無充值無vip手遊傳奇
- 傳奇世界手遊遊戲 最新版帶元神的傳奇世界手遊遊戲
- 福利傳奇手遊盒子 有沒有專門下傳奇的軟體
- 艾奇偉:從技術高手到CTO
- 不用花錢的傳奇手機遊戲 免費回收可以賺錢的傳奇手遊遊戲
- 傳奇遊戲盒子哪個好用 傳奇變態遊戲盒子遊戲
- 變態遊戲傳奇 超變態傳奇盒子推薦遊戲
- 不花錢的傳奇手遊有哪些好玩的 不坑不燒錢的傳奇手遊
- 傳奇3.0時代開啟,主打“3D傳奇”的《烈焰皇城》能讓傳奇使用者買單嗎?3D
- Java,傳奇的一生!Java
- 傳奇手遊排行榜2022 人氣最高的傳奇遊戲遊戲
- 超變無任務單職業傳奇 最新不用充值的傳奇手遊
- Linux 探索 第一幕 傳奇的開始(轉)Linux
- “國民傳奇”聯盟成立,傳奇遊戲將迎新統一遊戲
- 私服傳奇單職業 無充值無vip手遊傳奇排行
- 傳奇手遊變態版本 傳奇變態版送滿vip
- 傳奇GM許可權命令設定教程,傳奇分享匯
- 我,用心做傳奇
- “傳奇類”產品能否在小遊戲領域中再續傳奇?遊戲
- 傳奇手遊盒子哪個好用 超變態手遊傳奇盒子appAPP
- 傳奇手遊盒子app哪個好 傳奇手遊盒子排行榜APP
- 傳奇--多麼懷念的遊戲!遊戲
- 打金傳奇排行榜前十名 可以打金的傳奇手機遊戲遊戲
- 超變傳奇上線65535級 上線就送滿級vip的傳奇
- 無限刀單職業傳奇手遊 復古滿vip傳奇手遊
- 《馴龍高手:旅程》——維京傳奇,馴龍之旅,8月2日全平臺公測啟航!
- 傳奇盒子除了996還有哪些 跟類似996一樣的傳奇盒子996