簡介
查爾斯·西蒙尼(Charles Simonyi)是“所見即所得”的發明人,這是微軟公司著名的Windows系統的核心。查爾斯·西蒙尼還一手建立了微軟的程式設計師管理體系,他在微軟公司的頭銜是首席架構師(Chief Architect),是微軟最高智囊團的核心。他是史丹福大學的計算機博士,他關於“匈牙利表示法”的博士論文是每個Windows程式設計師必須首先學習的課程,Word,Excel等微軟的套用軟體都是在他的領導下開發成功,查爾斯·西蒙尼是軟體史上的傳奇人物。
成長過程
父親的啟蒙
大部分天才程式設計師在童年時代都特別聰明但很內向,他們對成人世界的 規則不感興趣,而是生活在自己封閉的小世界中,與科學技術為伴,西蒙尼的童年卻有些不同。西蒙尼的童年是在50年代末期的匈牙利布達佩斯度過的,他的父親是一位電子工程學教授,父親一直鼓勵西蒙尼勇於表達自己的看法,與他人進行交流。作為電子工程學教授的父親一直認為求解問題是個人成長中不可或缺的一部分,這個觀點對西蒙尼的成長產生了很大的影響,因為電腦程式設計的主要工作就是求解問題。
初露鋒芒
西蒙尼在高中階段已經開始接觸計算機和編程,得益於父親的教授身份,西蒙尼獲得了給一位計算機工程師當助手的機會,當時匈牙利國內一共只有五台計算機。
利用這個機會,西蒙尼在高中階段完成了自己的第一個程式和第一個專業程式。西蒙尼寫的第一個程式是填充幻方,讓每行、每列和對角線上的數之和均相等。而他的第一個專業程式則是為一種非常簡單、類似FORTRAN的高級語言寫的編譯器。西蒙尼把這個編譯器作為一項創新成果賣給了政府部門,並得到一大筆錢,不過他一分也沒花,因為不久之後他就離開了匈牙利。
西蒙尼當時編程用的是古老的電子管計算機,那是一台俄制計算機,UralII。它只有4K記憶體,支持40位浮點和20位操作指令,並且只能使用八進制機器碼編程(沒有彙編器)。
高中畢業之後,在布達佩斯的一次交易會上,西蒙尼遇到了幾位從事計算機工作的丹麥人。在充分了解他們公司的新機器之後,西蒙尼拜託其中一個人將自己編寫的小程式帶到丹麥給他們的主管看,該程式能準確反饋任意時刻機器正在分析長表達式的哪一部分。公司主管很喜歡這個程式,並提供給西蒙尼一份工作。西蒙尼就這樣離開了匈牙利。
求學之路
在丹麥編程一年半之後,西蒙尼用自己的工資,加上之前從政府部門獲得的獎金,前往加州大學伯克利分校學習,專業是工程數學。在校期間,西蒙尼進入伯克利計算機中心當程式設計師,收入用來支付學費。
在伯克利上學時,西蒙尼寫了一個很不錯的SNOBOL編譯器。一位名叫巴特勒·蘭普森的計算機科學教授非常喜歡這個編譯器,他還讓計算機科學專業的學生在課堂上使用它。後來,巴特勒·蘭普森跟另外幾個教授一起創辦了伯克利計算機公司,西蒙尼便在那家公司兼職工作。
1972年,從加州大學伯克利分校畢業後,西蒙尼進入史丹福大學研究生班繼續深造,研究方向是計算機科學。研究生期間,西蒙尼繼續在施樂(Xerox)的帕洛阿爾托研究中心(PARC,Palo Alto Research Center)兼職工作。西蒙尼為Alto電腦編寫文本編輯器Bravo,這是第一個“所見即所得(What you see is What you get)”的文字處理軟體,Bravo改變了信息組織和顯示的方式,為計算機人機互動界面的發展做出重要貢獻。
1977年,西蒙尼以優異的成績取得了史丹福大學的博士學位。但他的博士論文卻不是關於“所見即所得”,而是研究如何提高程式設計師生產力,描述如何採取有效方法組織程式設計師開發軟體。軟體開發的過程中最大的問題是無限制的延期,如何在規定時間內完成開發是研究的主要課題。西蒙尼認為在軟體無法如期完成時加入更多的程式設計師只會增加管理負擔,不是解決問題的正確方法,關鍵是有效地使用程式設計師,他提出了設定程式經理的方法來解決這個問題。
加入微軟
1980年,西蒙尼決定離開施樂,尋找適合自己的公司。他請鮑勃·麥特卡爾夫(Bob Metcalfe)共進午餐來商討這件事情。鮑勃是乙太網發明人,3Com公司的董事長和創始人,比西蒙尼早兩年離開施樂。鮑勃給了西蒙尼一張名單,上面列有他應該去找的人。名單上,比爾·蓋茨排在第一位。
1980年11月,西蒙尼與比爾·蓋茨(Bill Gates)和史蒂夫·鮑爾默(Steve Palmer)進行了深入的探討。蓋茨那時雖然非常年輕,但對計算機的看法非常富有遠見。西蒙尼只和他們交談了5分鐘,就決定要到微軟公司工作。他們在一起討論了微軟的未來發展,蓋茨預見微軟公司將成為微型電腦軟體世界性公司,將全面提供各種軟體產品包括作業系統,應用程式,編程工具和消費軟體。
1996年,蓋茨在拉斯維加斯計算機經銷商博覽會(COMDEX)接受採訪時談到圖形用戶界面的問題,他說道:“當西蒙尼加入公司時,我就知道我們未來一定能夠成功開發出圖形用戶界面,只是成功的時間未知。”
西蒙尼在微軟的第一個項目是主持Multiplan軟體的開發工作。Multiplan即Microsoft Excel的前身。西蒙尼採用新的設計準則,使Multiplan軟體能在多個運行平台上工作。儘管後來DOS作業系統的迅速普及使得該軟體的可移植性意義相對不大,但是西蒙尼的創舉令蓋茨對他深為賞識。
針對微軟的程式設計師在變數命名過程中產生的混亂,西蒙尼創立了匈牙利命名法(Hungariannotation)。匈牙利命名法是一種將對象的屬性、類型和描述都包含在變數名中的命名標準,後來成為軟體行業的行業標準之一,保障了微軟程式的質量和原始碼的易讀性、可維護性。
西蒙尼還創建了“宏程式”(metaprogramme)和“宏程式設計師”(metaprogrammer)的概念,目的在於增強軟體開發過程中的管理,但該成就鮮為人知。
西蒙尼為微軟公司貢獻的不僅僅是圖形用戶界面,還有另外兩項財富。
第一項是開發套用軟體的經驗,當時在個人電腦領域有四種類型軟體:作業系統,程式語言,套用軟體,和工具程式。其中,蓋茨對套用軟體的了解比較少,這方面主要是西蒙尼掌控大局。西蒙尼計畫開發一系列套用軟體包括電子表格,文字處理,資料庫等,這實際上是之後非常成功的Office系列的雛形。
第二項財富是西蒙尼關於程式設計師生產力的理論,它被蓋茨稱為“軟體工廠”理論。西蒙尼將程式經理分成不同級別,形成了管理程式設計師的金字塔式的體系結構。蓋茨是最高程式經理,然後是技術頂尖人物,微軟稱為架構師(Architect),架構師之下是程式經理,最後才是程式設計師。但“軟體工廠”的理論未能成功,因為軟體開發過程中有太多的不定因素,不可能全部在設計規定之中,軟體質量還需要程式設計師的才能。
創立公司
西蒙尼於2002年創辦了Intentional Software,目前擔任該公司主席和CTO。這家公司的宗旨是創造能加速軟體設計的技術,讓商務人士即使不熟悉電腦術語,也能清楚地描述需求。
2005年,西蒙尼被福布斯雜誌列入十億美元超級富翁的名單並保持至今。
個人生活
西蒙尼現住在美國西雅圖地區,業餘時間喜愛外出航海,他的遊船“思嘉德號(Skat)”被列為美國第八大私家遊艇。西蒙尼至今仍堅持獨身主義,他認為現在的生活十分自由,並且喜歡從大海和太空中獲得靈感。
熱衷慈善
西蒙尼熱衷於慈善事業,每年向各項科學基金和公益事業捐助一千萬至五千萬美元。例如,2004年,他把獲得的年度信息系統獎(Annual Infosys Award)的獎金全部捐給了慈善機構。
業餘太空人
在工作以外,西蒙尼表現出對航天旅行的極大興趣,並於2006年9月在俄羅斯星城(俄羅斯加加林太空人培訓中心)接受訓練。2007年4月7日,他與兩位俄羅斯太空人一起搭載聯盟TMA-10飛船前往國際空間站,並於21日返回地球,成為第五名太空遊客。4月9日到達國際空間站的時候,西蒙尼說:“黑暗天空中的一切都令人驚嘆,非常非常激動人心。就像一個巨大的舞台布景,有許多不可思議的歌劇或現代劇的奇妙演出。當我說我徹底折服的時候,就是現在這個樣子。”
2009年3月,西蒙尼再次進行了太空旅行,重遊國際空間站。