《軟體故事》讀後
最近讀了@圖靈教育 出版的《軟體故事——誰發明了那些經典的程式語言》(原書名:Go To: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Maverick Scientists, and Iconoclasts -- the Programmers Who Created the Software Revolution,Steve Lohr,2001年),只看書名和封面,可知這本書的內容十之八九都在講述FORTRAN、COBOL/IBM 360、Pascal、UNIX/C、BASIC、C++、Java等各種程式語言或系統的“故事”,當然,主要篇幅無疑留要給幕後的科學家、工程師等等。現代計算機誕生之初,並沒有獨立的軟體,更別說專門的軟體工程師,那麼軟體從何時開始出現並興起呢?這本書會給你滿意的答案。推薦給對各種程式語言或系統的幕後故事感興趣的朋友。
全書以各種語言和系統為主線,講述其誕生、發展的曲折過程。作者採訪了很多當事人,從中可以窺見很多不為人知的有趣細節,比如專案工期的不斷延誤、年輕團隊長期而艱苦的基礎工作、“獨具特色”的PIP(績效改進計劃,IBM FORTRAN專案),格蕾絲•霍普(Grace Hopper)是不是“COBOL之母”,BASIC/Visual Basic對於微軟成立及Windows興起的重要性,看似“無心插柳”卻終成當今最流行的程式語言——Java反覆曲折的開發過程(James Gosling和Bill Joy之間的合作與衝突)……
在講述關係型資料庫的發展歷程中,提到資料庫專家吉姆•格雷(Jim Gray,1998年圖靈獎獲得者,2007年獨自駕船出海失蹤)的一則趣事(下一段大部分內容摘自該書)。
IBM R系統研發工作本身極具吸引力,但是作為一個地地道道的加利福尼亞人,格雷厭惡生活在美國東部,尤其討厭那裡陰暗寒冷的冬天。他對上司說自己不能再忍受紐約的冬天了,要求調到加利福尼亞工作。然而,他被告知那邊沒有職位空缺,因為在經濟低迷期IBM凍結了招聘計劃。而且上司覺得格雷誇大了自己對積雪和雨水的厭惡之情。但是格雷並不是鬧著玩的,他決定逃離這片紐約郊區。他回憶說:“和紐約比起來,加利福尼亞簡直就是天堂,溫暖的陽光、熱情的人們,一年四季都有成熟的番茄。”格雷辭去了工作,跳上了他的大眾甲殼蟲汽車,一路穿越美國回到了加利福尼亞。當他出現在位於聖荷西的IBM實驗室的門口時,那裡正巧有個職位空缺。
這麼看來,矽谷的興起是有原因的。:-)
又比如,微軟早期員工、堪稱Word之父的查爾斯·西蒙尼(Charles Simonyi)的嗅覺和遠見:
西蒙尼14歲時,《布達佩斯》時報上的一篇專欄文章給他留下了深刻的印象。那是一位名叫安東尼奧·葛蘭西的義大利共產主義者寫的文章,被翻譯成了匈牙利語。根據西蒙尼的回憶,葛蘭西的這篇文章講述的是偉大的共產主義領導人列寧和木柴的故事。一位生活在俄國鄉村的老太太家中的木柴就快用完了,此時正值寒冬時節,供給很有限,她的木柴撐不過整個冬天。絕望中,她寫了一封信給列寧同志,訴說自己面臨的困境。列寧讀了老人的信後親自處理了這件事,於是老人有了足夠過冬的木柴。這是一個講述共產主義善行的故事,但是在當時年輕的西蒙尼看來,這是十分可怕的。他說:“我讀了那篇文章之後想:‘一個人會不會被凍死,難道是由領導人看不看你的信決定的嗎?’我要儘快逃離這種體制。”(摘自《軟體故事》)
又比如,牛人之間的合作,也有你想象不到的“溝通失敗”的案例:
多年來一直指導這對搭檔的道格·麥克羅伊指出,裡奇(Dennis Ritchie,與Ken Thompson共同打造了UNIX作業系統、C語言)的天分很大程度上是“固有的”、“看得明白的”,而湯普森(Ken Thompson)的才能完全不同,是“真正的天才型”,閃爍著“令人意想不到的、豐富的創造力”的光芒。無論這種合作關係究竟是何種關係,兩人的才智在工作中常常合二為一。1983年,在接受圖靈獎頒獎時,湯普森稱與裡奇合作是一件“美妙的事”,然後還舉出了一些小例子來證明在編碼工作中他們的想法有多麼相似。湯普森回憶說,在一起工作的10年裡,他能記起的兩人之間失敗的溝通僅有一次。“那次,”湯普森說,“我發現我們倆寫下了同樣的20行組合語言程式。比較了程式碼之後,我驚訝地發現竟然一個字都不差!”(摘自《軟體故事》)
如此伯牙子期,夫復何求?!
《軟體故事》英文原版成書於2001年,採訪大多完成於2000年,正值.com泡沫最大且將破滅之際,但全書並沒怎麼涉及Web軟體/應用,當然,繞不開全球資訊網之父Tim Berners-Lee提出並實現超文字和全球資訊網的曲折過程(Steve Jobs和NeXT公司也牽涉其中),也簡略提到了Netscape瀏覽器的由來和興起。
閱讀《軟體故事》,可以看到很多程式設計先鋒熟悉的名字,比如Bill Gates(毫無疑問的)、Charles Simonyi、Bob Frankston、Dan Bricklin、Butler Lampson、Andy Hertzfeld……這些大牛都是Programmers At Work(Susan M. Lammers,1986年出版,中文版《程式設計大師訪談錄》,人民郵電出版社圖靈教育)一書中的採訪物件,甚至《軟體故事》的有些片段與該書部分內容幾近相同。是啊,時隔15年(GoTo出版於2001年,PAW出版於1986年,採訪時間相差近15年),一切仍歷歷在目,沒什麼變化。
《軟體故事》一書讀下來,非常順暢,“換檔順滑,無明顯頓挫感”,可以想見,譯者費了不少功夫和心思。人無完人,書無完書,錯漏難免,書中還是能找到不少“彩蛋”,似乎也可視作一種樂趣:-)。比如,“渦輪增壓的位處理引擎使‘深藍’在速度和動力上佔有優勢,再就是軟體”(“渦輪增壓”原文應為Turbo,有點過度翻譯了),“以充當使用者喜歡的應用程式的發射臺”(Launcher,啟動器),“理查德·M.斯托曼……後來建立了免費軟體基金會”(FSF,Free Software Foundation,自由軟體基金會,Stallman要哭了),“在他的定義中,免費軟體和開源軟體是兩個不同的概念”(Free Software,自由軟體,NOT Freeware,Stallman再哭)。
該書電子版圖靈社群(www.ituring.com.cn)有售,支援推送到Kindle!
相關文章
- 《軟體方法》讀後感
- 開源筆記軟體 Joplin 背後的故事筆記
- 探祕嫦娥一號背後的軟體開發故事
- 03《軟體工程思想》讀後感02軟體工程
- 01《軟體工程思想》讀後感01軟體工程
- 《軟體需求管理 用例方法》讀後感
- 《構建之法——現代軟體工程》讀後感軟體工程
- 《軟體故事》:軟體和程式設計藝術的興起程式設計
- 讀軟體設計的要素07讀後總結與感想兼導讀
- 開源軟體名稱中的故事
- 艱難前行的故事 (《夢斷程式碼》讀後感)薦
- 螞蟻金服研發的金融級分散式中介軟體SOFA背後的故事分散式
- 《大道至簡--軟體工程實踐者的思想》讀後感軟體工程
- 《致命Bug:軟體缺陷的災難與啟示》讀後感受
- 軟體工程構建之法第四章讀後感軟體工程
- 《大道至簡——軟體工程實踐者的思想》讀後感軟體工程
- 貓讀《軟體估算》三
- Solmyr和Zero的故事 —— 記憶體,最後一塊 (轉)記憶體
- 《例項化需求-團隊如何交付正確的軟體》讀後感
- Laravel 文件閱讀:中介軟體Laravel
- 讀《軟體之道》的筆記筆記
- 閱讀《現代軟體工程構建之法》第6第7章後感想軟體工程
- 一家軟體服務商與DDOS之間的故事
- 解讀 Redux 中介軟體的原理Redux
- 解讀軟體工程—(1)開端軟體工程
- 讀書軟體做自己的 (轉)
- Redis持久化背後的故事Redis持久化
- Java main方法背後的故事?JavaAI
- Mac OS X 背後的故事Mac
- HTML5背後的故事HTML
- 《30天軟體開發 告別瀑布擁抱敏捷》一書 讀後總結敏捷
- 《現代軟體工程——構建之法》第1~5章讀後感及問題軟體工程
- 《用資料講故事》讀書分享
- “一片羽毛的故事”:Apache軟體基金會成立15年Apache
- 脫殼後軟體減肥大法
- InstallShield 打包後,啟動軟體
- MySQL cetus 中介軟體 讀寫分離MySql
- 《軟體工程思想》讀書摘抄 Part 1軟體工程