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的主要作者之一。
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”就不知所謂樂。嗯,扯遠了,打住。
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 'fuk'?"
,讓無數美女剎羽而歸。終于有一天,一個同樣火爆的女面對這個問題脫口而出:"That's my favorite
word"。于是她被錄取樂,為D爺爺工作到NT3.5發布。
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樂。
Ken
Thompson,C語言前身B語言的作者,Unix的發明人之一(另一個是Dennis M.
Riche老大,被尊為DMR),Belle(一個厲害的國際象棋程序)的作者之一, 操作系統Plan 9的主要作者(另一個是大牛人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編譯器。:D