查(cha)爾(er)斯(si)·西(xi)蒙(meng)(meng)尼(Charles Simonyi)是(shi)“所見即(ji)所得”的(de)(de)(de)(de)發(fa)明(ming)人(ren),這是(shi)微軟(ruan)公司著名的(de)(de)(de)(de)Windows系統的(de)(de)(de)(de)核心。查(cha)爾(er)斯(si)·西(xi)蒙(meng)(meng)尼還一手建(jian)立了微軟(ruan)的(de)(de)(de)(de)程(cheng)序員管理體系,他(ta)(ta)在微軟(ruan)公司的(de)(de)(de)(de)頭(tou)銜是(shi)首(shou)(shou)席架(jia)構(gou)師(Chief Architect),是(shi)微軟(ruan)最(zui)高智囊(nang)團的(de)(de)(de)(de)核心。他(ta)(ta)是(shi)斯(si)坦福大學的(de)(de)(de)(de)計算機博士,他(ta)(ta)關于“匈牙(ya)利表(biao)示(shi)法”的(de)(de)(de)(de)博士論文是(shi)每個Windows程(cheng)序員必須首(shou)(shou)先學習的(de)(de)(de)(de)課程(cheng),Word,Excel等微軟(ruan)的(de)(de)(de)(de)應(ying)用軟(ruan)件(jian)(jian)都是(shi)在他(ta)(ta)的(de)(de)(de)(de)領導下(xia)開發(fa)成功,查(cha)爾(er)斯(si)·西(xi)蒙(meng)(meng)尼是(shi)軟(ruan)件(jian)(jian)史上的(de)(de)(de)(de)傳奇(qi)人(ren)物。
父親的啟蒙
大部分天才程序員在童年時代都特別聰明但很內向,他們對成人世界的億萬(wan)富翁查爾斯·西蒙尼規則不(bu)感興(xing)趣,而是(shi)生(sheng)活(huo)在(zai)自(zi)己(ji)封閉的(de)(de)(de)小世(shi)界中(zhong),與科學(xue)技術(shu)為伴,西蒙(meng)(meng)尼(ni)(ni)的(de)(de)(de)童年(nian)(nian)卻有些不(bu)同。西蒙(meng)(meng)尼(ni)(ni)的(de)(de)(de)童年(nian)(nian)是(shi)在(zai)50年(nian)(nian)代末期的(de)(de)(de)匈牙(ya)利布達佩斯度過的(de)(de)(de),他(ta)的(de)(de)(de)父親是(shi)一位電子(zi)工(gong)程學(xue)教授(shou),父親一直(zhi)鼓勵西蒙(meng)(meng)尼(ni)(ni)勇于表達自(zi)己(ji)的(de)(de)(de)看法,與他(ta)人進行交(jiao)流(liu)。作(zuo)為電子(zi)工(gong)程學(xue)教授(shou)的(de)(de)(de)父親一直(zhi)認為求(qiu)解問(wen)題(ti)是(shi)個(ge)人成(cheng)長中(zhong)不(bu)可或(huo)缺(que)的(de)(de)(de)一部分,這個(ge)觀點對西蒙(meng)(meng)尼(ni)(ni)的(de)(de)(de)成(cheng)長產(chan)生(sheng)了很大(da)的(de)(de)(de)影響,因為計(ji)算機(ji)程序設計(ji)的(de)(de)(de)主要(yao)工(gong)作(zuo)就是(shi)求(qiu)解問(wen)題(ti)。
西蒙(meng)尼在高中階段已經開始接觸計算(suan)機(ji)和(he)編程,得益于(yu)父親的(de)教(jiao)授(shou)身(shen)份,西蒙(meng)尼獲得了給一位計算(suan)機(ji)工程師當助手的(de)機(ji)會(hui),當時(shi)匈牙利(li)國內一共只有五臺計算(suan)機(ji)。
利用這個機會,西蒙尼在高中階段完成了自己的第一個程序和第一個專業程序。西蒙尼寫的第一個程序是填充幻方,讓每行、每列和對角線上的數之和均相等。而他的第一個專業程序則是為一種非常簡單、類似FORTRAN的高級語言寫的編譯器。西蒙尼把這個編譯器作為一項創新成果賣給(gei)了政(zheng)府部(bu)門,并得到一(yi)大筆錢,不(bu)過他(ta)(ta)一(yi)分也沒(mei)花,因(yin)為(wei)不(bu)久之(zhi)后他(ta)(ta)就離開了匈牙利。
西蒙尼當時編程(cheng)(cheng)用的是古老(lao)的電子管計算機,那(nei)是一臺俄制計算機,UralII。它(ta)只(zhi)有4K內存,支持40位浮點和20位操(cao)作指令,并且只(zhi)能使用八進制機器(qi)碼編程(cheng)(cheng)(沒(mei)有匯(hui)編器(qi))。
高中畢業(ye)之(zhi)后,在(zai)布達佩斯的(de)一(yi)(yi)次交易會(hui)上,西蒙尼(ni)遇到(dao)了幾位(wei)從事計算機工作(zuo)的(de)丹麥(mai)人(ren)(ren)。在(zai)充分了解(jie)他們(men)公司的(de)新(xin)機器之(zhi)后,西蒙尼(ni)拜托(tuo)其中一(yi)(yi)個(ge)人(ren)(ren)將自(zi)己(ji)編寫的(de)小程(cheng)序帶到(dao)丹麥(mai)給(gei)他們(men)的(de)主(zhu)管(guan)看(kan),該(gai)程(cheng)序能準確反(fan)饋(kui)任意時刻機器正(zheng)在(zai)分析長表達式的(de)哪一(yi)(yi)部分。公司主(zhu)管(guan)很喜(xi)歡這個(ge)程(cheng)序,并提(ti)供給(gei)西蒙尼(ni)一(yi)(yi)份(fen)工作(zuo)。西蒙尼(ni)就這樣離(li)開了匈(xiong)牙利。
在丹麥編程一年半之后,西蒙尼用自己的工資,加上之前從政府部門獲得的獎金,前往加(jia)州(zhou)大學(xue)(xue)伯(bo)克(ke)(ke)利分校學(xue)(xue)習,專業是工程(cheng)數學(xue)(xue)。在校期(qi)間(jian),西蒙尼進入伯(bo)克(ke)(ke)利計算機中(zhong)心當程(cheng)序員,收(shou)入用來支(zhi)付學(xue)(xue)費。
在(zai)伯克利上(shang)學(xue)時,西蒙尼寫了一(yi)個(ge)很不(bu)錯的SNOBOL編譯(yi)器。一(yi)位名叫巴(ba)特勒(le)·蘭普(pu)(pu)森(sen)的計(ji)算機(ji)(ji)科學(xue)教授非常(chang)喜歡這個(ge)編譯(yi)器,他還(huan)讓計(ji)算機(ji)(ji)科學(xue)專(zhuan)業的學(xue)生(sheng)在(zai)課(ke)堂(tang)上(shang)使用它(ta)。后來(lai),巴(ba)特勒(le)·蘭普(pu)(pu)森(sen)跟另外幾個(ge)教授一(yi)起創辦了伯克利計(ji)算機(ji)(ji)公司,西蒙尼便在(zai)那家公司兼(jian)職工作(zuo)。
1972年,從加州(zhou)大學(xue)伯克利分校畢業(ye)后,西(xi)蒙(meng)尼進入斯坦福大學(xue)研(yan)究生(sheng)班繼(ji)續(xu)深(shen)造(zao),研(yan)究方(fang)向是計算機科學(xue)。研(yan)究生(sheng)期間,西(xi)蒙(meng)尼繼(ji)續(xu)在(zai)施(shi)樂(Xerox)的(de)帕洛阿爾托研(yan)究中(zhong)心(PARC,Palo Alto Research Center)兼職工作。西(xi)蒙(meng)尼為(wei)Alto電腦編(bian)寫(xie)文本(ben)編(bian)輯器Bravo,這是第(di)一個(ge)“所(suo)見即(ji)所(suo)得(What you see is What you get)”的(de)文字處理軟(ruan)件,Bravo改變(bian)了信息(xi)組織和顯示的(de)方(fang)式,為(wei)計算機人機交互(hu)界面的(de)發展做出重要(yao)貢獻。
1977年(nian),西蒙(meng)尼以(yi)優異的(de)(de)(de)(de)成績取得了(le)斯坦福(fu)大學(xue)的(de)(de)(de)(de)博士學(xue)位。但他的(de)(de)(de)(de)博士論文卻不是(shi)(shi)(shi)(shi)(shi)關(guan)于(yu)“所(suo)見即所(suo)得”,而(er)是(shi)(shi)(shi)(shi)(shi)研(yan)(yan)究如何(he)提高(gao)程(cheng)序(xu)員生產力,描述如何(he)采取有效(xiao)方法(fa)組織(zhi)程(cheng)序(xu)員開發(fa)軟(ruan)件(jian)。軟(ruan)件(jian)開發(fa)的(de)(de)(de)(de)過程(cheng)中最大的(de)(de)(de)(de)問題(ti)是(shi)(shi)(shi)(shi)(shi)無(wu)限制的(de)(de)(de)(de)延期,如何(he)在(zai)規(gui)定時(shi)間內完成開發(fa)是(shi)(shi)(shi)(shi)(shi)研(yan)(yan)究的(de)(de)(de)(de)主要課(ke)題(ti)。西蒙(meng)尼認為在(zai)軟(ruan)件(jian)無(wu)法(fa)如期完成時(shi)加(jia)入更多的(de)(de)(de)(de)程(cheng)序(xu)員只會(hui)增加(jia)管(guan)理負擔,不是(shi)(shi)(shi)(shi)(shi)解決問題(ti)的(de)(de)(de)(de)正確方法(fa),關(guan)鍵是(shi)(shi)(shi)(shi)(shi)有效(xiao)地使用程(cheng)序(xu)員,他提出了(le)設置程(cheng)序(xu)經理的(de)(de)(de)(de)方法(fa)來解決這(zhe)個問題(ti)。
1980年,西(xi)蒙尼(ni)(ni)決(jue)定離(li)開施樂,尋找適合自己的(de)公司。他(ta)請鮑(bao)勃·麥特卡爾(er)夫(Bob Metcalfe)共(gong)進午餐來商討這件事(shi)情。鮑(bao)勃是以太網發明人(ren),3Com公司的(de)董(dong)事(shi)長和(he)創始人(ren),比(bi)西(xi)蒙尼(ni)(ni)早兩年離(li)開施樂。鮑(bao)勃給(gei)了西(xi)蒙尼(ni)(ni)一張名單,上(shang)面列有他(ta)應該去找的(de)人(ren)。名單上(shang),比(bi)爾(er)·蓋茨排在第一位。
1980年11月,西蒙尼與比爾·蓋茨(Bill Gates)和史蒂夫·鮑爾默(Steve Palmer)進行了深入的探討。蓋茨那時雖然非常年輕,但對計算機的(de)看法非(fei)常富有遠見。西蒙(meng)尼只和他們交(jiao)談了5分鐘(zhong),就(jiu)決定要到微軟(ruan)公司工作(zuo)。他們在一起(qi)討論了微軟(ruan)的(de)未來發展,蓋(gai)茨預見微軟(ruan)公司將(jiang)成為微型電(dian)腦軟(ruan)件(jian)世界(jie)性公司,將(jiang)全面提(ti)供各種(zhong)軟(ruan)件(jian)產品包(bao)括操作(zuo)系統,應(ying)用程序,編(bian)程工具和消費軟(ruan)件(jian)。
1996年(nian),蓋(gai)茨在拉斯維(wei)加(jia)斯計(ji)算機(ji)經銷商博覽會(COMDEX)接(jie)受(shou)采訪時(shi)談(tan)到(dao)圖(tu)形(xing)(xing)用戶(hu)界(jie)面(mian)(mian)的問題,他說道:“當西蒙尼加(jia)入公司(si)時(shi),我(wo)就知道我(wo)們(men)未來一定能夠成功開發出圖(tu)形(xing)(xing)用戶(hu)界(jie)面(mian)(mian),只(zhi)是成功的時(shi)間未知。”
西蒙尼在微軟的第一個項目是主持Multiplan軟件的開發工作。Multiplan即Microsoft Excel的前身。西蒙尼采用新的設計準則,使Multiplan軟件能在多個運行平臺上工作。盡管后來DOS操作系統的迅速普及使得該軟件的可移植性意義相對不大,但是西蒙尼的創舉令蓋茨對他深為賞識。針對(dui)微(wei)軟(ruan)的(de)(de)(de)程序員在變(bian)量(liang)命(ming)名(ming)過程中產生的(de)(de)(de)混亂,西蒙尼(ni)創立(li)了匈(xiong)牙(ya)利命(ming)名(ming)法(Hungariannotation)。匈(xiong)牙(ya)利命(ming)名(ming)法是一種將對(dui)象(xiang)的(de)(de)(de)屬性(xing)、類(lei)型和描(miao)述都包含在變(bian)量(liang)名(ming)中的(de)(de)(de)命(ming)名(ming)標準,后來成為軟(ruan)件行(xing)業的(de)(de)(de)行(xing)業標準之一,保障了微(wei)軟(ruan)程序的(de)(de)(de)質量(liang)和源代(dai)碼的(de)(de)(de)易(yi)讀性(xing)、可維護性(xing)。
西蒙(meng)尼還創建了“宏(hong)程序”(metaprogramme)和“宏(hong)程序員(yuan)”(metaprogrammer)的概念,目的在于增強軟件開發過程中的管理,但該成(cheng)就(jiu)鮮為人知(zhi)。
西蒙尼(ni)為微軟公司貢(gong)獻的不僅(jin)僅(jin)是圖形用戶界面(mian),還有(you)另外兩項財富。
第一項是開發(fa)應用軟件(jian)(jian)的(de)經驗,當(dang)時在個人電(dian)腦領域有(you)四種(zhong)類型軟件(jian)(jian):操作(zuo)系統(tong),編程語言,應用軟件(jian)(jian),和工(gong)具程序。其中,蓋茨(ci)對應用軟件(jian)(jian)的(de)了解比較少,這(zhe)方面(mian)主要是西蒙(meng)尼(ni)掌控大局。西蒙(meng)尼(ni)計(ji)劃開發(fa)一系列(lie)應用軟件(jian)(jian)包括(kuo)電(dian)子(zi)表格,文字處理,數(shu)據庫(ku)等,這(zhe)實際(ji)上是之(zhi)后(hou)非常成功的(de)Office系列(lie)的(de)雛(chu)形。
第二項財(cai)富是(shi)西蒙尼關于(yu)程(cheng)(cheng)(cheng)序(xu)員(yuan)(yuan)生產(chan)力的理(li)(li)論,它被蓋(gai)茨稱為“軟(ruan)件工(gong)廠(chang)”理(li)(li)論。西蒙尼將程(cheng)(cheng)(cheng)序(xu)經(jing)理(li)(li)分成不同級別,形成了管理(li)(li)程(cheng)(cheng)(cheng)序(xu)員(yuan)(yuan)的金字塔式的體系(xi)結構(gou)。蓋(gai)茨是(shi)最高程(cheng)(cheng)(cheng)序(xu)經(jing)理(li)(li),然后(hou)是(shi)技(ji)術頂尖(jian)人物(wu),微軟(ruan)稱為架構(gou)師(Architect),架構(gou)師之(zhi)(zhi)下是(shi)程(cheng)(cheng)(cheng)序(xu)經(jing)理(li)(li),最后(hou)才是(shi)程(cheng)(cheng)(cheng)序(xu)員(yuan)(yuan)。但(dan)“軟(ruan)件工(gong)廠(chang)”的理(li)(li)論未(wei)能(neng)成功,因為軟(ruan)件開發(fa)過程(cheng)(cheng)(cheng)中有太多的不定因素,不可能(neng)全部在設計規定之(zhi)(zhi)中,軟(ruan)件質量還(huan)需要程(cheng)(cheng)(cheng)序(xu)員(yuan)(yuan)的才能(neng)。
西(xi)蒙尼于2002年創辦了Intentional Software,目前擔任該(gai)公(gong)司主席(xi)和CTO。這家(jia)公(gong)司的宗旨是創造能加速軟件設(she)計的技術,讓商務人士即(ji)使不熟(shu)悉(xi)電腦術語,也能清楚地描述(shu)需求。
2005年,西蒙(meng)尼被福布斯雜(za)志列入十億美元超級富翁(weng)的名單并(bing)保持至今。
個人生活
西蒙尼現住在美國西雅圖地區,業余時間喜愛外出航海,他的游船“思嘉德號(Skat)”被列為(wei)美國第(di)八大私家游(you)艇。西蒙尼至今仍堅持獨身(shen)主義,他認為(wei)現在(zai)的生活十(shi)分(fen)自由,并(bing)且喜(xi)歡從大海(hai)和太空中獲得靈感。
西蒙尼熱(re)衷(zhong)于(yu)慈善(shan)事業(ye),每(mei)年向(xiang)各項科學基金(jin)和(he)公益事業(ye)捐助一(yi)千萬(wan)至(zhi)五千萬(wan)美元。例如,2004年,他(ta)把獲得的(de)年度信息(xi)系統獎(Annual Infosys Award)的(de)獎金(jin)全(quan)部捐給(gei)了慈善(shan)機構。
在工作以外,西蒙尼表現出對航天旅行的極大興趣,并于2006年9月在(zai)俄(e)羅斯(si)星城(cheng)(俄(e)羅斯(si)加加林宇航員培訓(xun)中心)接受訓(xun)練。2007年4月7日(ri),他(ta)與兩位俄(e)羅斯(si)宇航員一起(qi)搭(da)載聯盟TMA-10飛船前(qian)往(wang)國際空(kong)間(jian)站,并于21日(ri)返回地球,成為第五名(ming)太空(kong)游客(ke)。4月9日(ri)到達國際空(kong)間(jian)站的(de)(de)時(shi)(shi)候,西蒙(meng)尼說(shuo):“黑暗天空(kong)中的(de)(de)一切都令人(ren)驚嘆,非常(chang)非常(chang)激動(dong)人(ren)心。就(jiu)(jiu)像一個巨大的(de)(de)舞(wu)臺布景(jing),有許多不可思議的(de)(de)歌(ge)劇(ju)或現代劇(ju)的(de)(de)奇妙演出(chu)。當我(wo)說(shuo)我(wo)徹底折服(fu)的(de)(de)時(shi)(shi)候,就(jiu)(jiu)是(shi)現在(zai)這個樣子。” [3-4]
2009年3月,西蒙(meng)尼(ni)再次進(jin)行了太空旅行,重游國際空間站(zhan)。