敢放出這樣狂妄之言的,恐怕只有被稱為“操作系統(tǒng)天神”的大衛(wèi)·卡特勒(David Cutler)了。
(3) 卡特勒為微軟Azure云開發(fā)了云操作系統(tǒng),幫助微軟順利轉型云計算。
人這一輩子,能寫一個流行的操作系統(tǒng)就名垂青史了,卡特勒老爺子一下子寫了三個,涵蓋了小型機,PC,云計算三個不同領域,所以他被稱為“硅谷最牛內核程序員”。
他是個雙非程序員(非科班,非著名高校),在杜邦工作期間因為需要對客戶的流程進行建模,要用到計算機,于是去了一所IBM開辦的“培訓班”,學習7044計算機和一門叫做GPSS-3的編程語言,沒想到編程天賦爆棚,一發(fā)而不可收拾。
現(xiàn)在很多人已經(jīng)不知道什么是小型機了,其實小型機其實一點兒都不小,比如這臺PDP-11:
很多八十年代的程序員都會炫耀自己開發(fā)軟件時壓榨每一個字節(jié)的經(jīng)歷,但卡特勒在70年代已經(jīng)這么干了,他在開發(fā)PDP-11的實時操作系統(tǒng)中一舉成名:用出色的技巧把程序縮減到了極致。
他的桌子上甚至放著一個橡皮戳,上面刻著“程序大小是最終目標”(Size is the goal),當某人的程序占用了太多內存,他就會給人蓋個戳打回去重寫。
這引起了DEC的靈魂人物——戈登·貝爾的關注,戈登·貝爾是小型機之父,高性能計算領域的最高榮譽“戈登·貝爾獎”就是以他的名字命名。
當時藍色巨人IBM也要將推出小型機,殺入這個市場。戈登·貝爾感覺必須大大地改進DEC的小型機,才能在強大的IBM面前保持領先地位,他規(guī)劃了一個新的32位的小型機產(chǎn)品線,叫VAX。
VAX上會運行一個全新的操作系統(tǒng):VMS,這個操作系統(tǒng)有個重要特點:既可以運行新程序,也可以運行之前為PDP-11編寫的老程序,這就是向后兼容。(在后來的NT操作系統(tǒng)中也實現(xiàn)了這一點)。
VAX將會成為計算機歷史上的分水嶺,組建團隊時,戈登·貝爾挑選了DEC公司最聰明的工程師,大衛(wèi)·卡特勒被任命為VMS操作系統(tǒng)的領導。
雖然說是領導,但卡特勒本質上還是個程序員,他喜歡親自上手,不喜歡求人幫忙,因為“當把所有事情說一遍再做完,所說的話比要做的事多得多”。
操作系統(tǒng)的開發(fā)壓力巨大,團隊經(jīng)常爆發(fā)激烈爭吵,有一段時間,早上起床時卡特勒經(jīng)常頭暈眼花,甚至不能把身體站直,血壓超高,全靠吃藥才能把血壓降下來。
兩年以后,第一臺 VAX superminis 從 DEC 的制造工廠問世,卡特勒負責開發(fā)的VMS操作系統(tǒng)表現(xiàn)優(yōu)異,非常穩(wěn)定,幫助VAX 迅速獲得了市場領導地位。
VAX的成功讓卡特勒獲得了巨大的財富和榮譽,他被戈登·貝爾稱為“世界上最好的操作系統(tǒng)專家”。
但是,DEC公司的官僚作風讓脾氣暴躁的實干家卡特勒難以忍受,一群經(jīng)理過來對VMS指手畫腳,卡特勒沒辦法像之前那樣指揮VMS項目,他一怒之下威脅辭職。
貴人戈登·貝爾再次給了他一個無法拒絕的提議:“帶上你想要的任何人,去你想去的任何地方,做你想做的任何事情,告訴我你需要多少錢,DEC公司負責所有費用!”
卡特勒非常高興,把自己的死黨聚集到一起,從東海岸的馬薩諸塞州搬到西海岸西雅圖附近(靠近微軟),遠離DEC總部的官僚氣息,西海岸還有高山可以滑雪,可以打獵,簡直不要太爽。
卡特勒計劃為VAX開發(fā)一個新的實時操作系統(tǒng),他本人也從軟件進入了硬件領域,為MicroVAX編寫微代碼,這讓他和很多程序員區(qū)分開來:深入硬件層次,大家用高級語言思考,卡特勒用寄存器和機器指令思考。
但是,他的靠山戈登·貝爾1983年離職了,1988年,新項目Prism被公司取消,西海岸團隊解散,100多號人要在公司內部自謀生路,卡特勒喝得酩酊大醉,給大家放了一個月的帶薪假。
卡特勒和他的團隊根本看不上微軟,認為微軟的代碼寫得很糟糕,DOS在他們的眼中都是玩具操作系統(tǒng),,Windows 1.0,2.0也就是DOS套了個殼而已。
但是比爾·蓋茨說:你可以過來,開發(fā)你認為真正的PC操作系統(tǒng)啊,現(xiàn)在有PC,工作站,你寫個操作系統(tǒng)把它們統(tǒng)一了!
這有點像喬布斯招募百事可樂斯卡利時所描繪的事情:你是想賣一輩子糖水,還是想和我們一起改變世界?
卡特勒動心了,他忘不了自己在DEC的老伙計,要求帶著20多人的團隊整體加入,其中還包含計算機硬件工程師!
比爾·蓋茨太渴望得到卡特勒這位操作系統(tǒng)的天神了,雖然微軟不做硬件,但是他也滿口答應。
1988年,卡特勒最終加入微軟,這讓比爾·蓋茨和二當家鮑爾默手舞足蹈:卡特勒加入微軟了,這真是難以置信!
卡特勒要做的就是NT操作系統(tǒng),這個系統(tǒng)的目標可以說是雄心勃勃的,前所未有的:
相對于DOS和Windows ,NT的每個目標都是巨大的挑戰(zhàn),開發(fā)經(jīng)歷5年,有430萬行代碼,花費了1.5億美元。
開發(fā)的過程簡直就是一場死亡行軍,Bug似乎無窮無盡,開發(fā)團隊宣傳他們一共fix了3萬個bug,其中包括需要真正的showstopper——危險到足以讓整個系統(tǒng)崩潰。
到了沖擊階段,在4月的最后一周fix 了驚人的1132個Bug,卻又發(fā)現(xiàn)了713個嚴重到需要修復的新錯誤,每個人都精疲力盡。
NT的開發(fā)過程在一本叫做《Showstopper》(中文名《觀止》)的書中有詳細描述,強烈推薦。
1993年7月27日,Windows NT 3.1終于發(fā)布,它一改微軟只能實現(xiàn)玩具操作系統(tǒng),不斷藍屏的印象,實現(xiàn)了網(wǎng)絡能力、可靠性、兼容性和便攜性方面的主要目標,讓競爭對手難以超越。
比爾·蓋茨估計NT提供的技術可以讓微軟用到2019年,實際上,從Windows XP開始,Windows操作系統(tǒng)的代碼都基于Window NT進行構建,并且一直沿用到今天。
如果說有一個人在Windows發(fā)展歷史上不可或缺的話,他就是大衛(wèi)·卡特勒。
2005年,Ray Ozzie(著名的Lotus Notes創(chuàng)始人)的創(chuàng)業(yè)公司被微軟收購,他也進入微軟成了首席軟件架構師。
Ray Ozzie一直倡導通過Web的方式來交付軟件,即SaaS,為了闡述自己的理念,他寫了一份長達7頁的備忘錄,呼吁公司構建新的平臺,在互聯(lián)網(wǎng)上復制Windows,Office和其他應用程序。
這個想法在微軟絕對是異端,因為Windows 和Office 一直是兩個巨大的搖錢樹,貢獻了80%以上的收入,現(xiàn)在你要把它放到網(wǎng)上去,能賺錢嗎?
微軟前CEO鮑爾默最初是堅決反對的,但是最后還是被說服,開始全力以赴地推動微軟的云戰(zhàn)略。
Windows的副總裁Amitabh Srivastava想起來辦公室對面的大衛(wèi)·卡特勒,此時卡特勒已經(jīng)64歲,準備要退休了。
大衛(wèi)·卡特勒這位大神的大旗一旦立起來,開發(fā)團隊的人員招聘就不是問題,每個人都想和大衛(wèi)·卡特勒共事。
64歲的卡特勒親自操刀,為Azure開發(fā)了虛擬機管理程序(Hypervisor),得益于以卡特勒在操作系統(tǒng)和硬件領域的深厚功力,微軟的Hpervisor效率極高,開銷非常低,這樣就可以把硬件資源充分地劃分給虛擬機。
隨著時間的發(fā)展,Windows Azure(后來改名為Microsoft Azure)開始慢慢發(fā)力,尤其是新CEO納德拉上臺以后,成為僅次于亞馬遜AWS的第二大云計算平臺,微軟也從蓋茨時代的軟件公司轉型為一家云計算公司。
和文質彬彬的蓋茨相比,卡特勒是個典型的“藍領硬漢”,無論在高中還是大學,他都是校橄欖球隊的絕對主力,他喜歡賽車,舉重,喜歡打獵,喜歡在午夜去滑雪——這樣可以在白天工作更長的時間。
在他發(fā)脾氣時,嘴里動不動就冒出一串污言穢語,在DEC工作時,有個女工程師在打印機旁遇到了卡特勒,他正在扣卡在打印機中的碎紙,女工程師以期待的眼神看了他一眼,于是卡特勒就咆哮起來:你就是把那個打印機搞垮的混蛋嗎?
卡特勒最著名的段子是開發(fā)Windows NT期間,他需要招聘一個秘書時,就對每個前來面試的人問道:你對Fuck這個詞怎么想?這讓無數(shù)女生鎩羽而歸,直到一個同樣火爆的女生出現(xiàn):這是我最喜歡的詞,于是她被錄取了。
他比求伯君還要差一個檔次,而中國早期編程大神是嚴援朝,吳曉軍,求伯君再加上王江民。
他比求伯君還要差一個檔次,而中國早期編程大神是嚴援朝,吳曉軍,求伯君再加上王江民。
大家都是為了建設社會主義現(xiàn)代化新中國,革命只是分工不同,哪來的高低貴賤,還給你整出優(yōu)越感來了,工賊
大家都是為了建設社會主義現(xiàn)代化新中國,革命只是分工不同,哪來的高低貴賤,還給你整出優(yōu)越感來了,工賊