美國科學史之父薩頓(George A. L. Sarton)認為通用的科學教科書有教條的特點,適用於培養初學者和普通人才,對於具有清醒的理論哲學頭腦的人來說,他們需要一種按照歷史順序寫作的教科書。
本書不是依照歷史順序寫作,而是依照現階段中學理科五大分類:數學、物理、化學、生物和地科,收集科學月刊曾經刊載介紹過的科學家文章,這些科學家或對該領域科學的翹楚、甚至對整體科學有重大貢獻,或對我國該領域有著領頭啟蒙之功,這些文章當中,可學到平常在課本中所看不到的內容,並為枯燥無味的教科書添加些血肉故事。
作者簡介:
國立中央大學物理及天文研究所博士。曾任交通大學理學院、臺灣藝術大學通識中心兼任助理教授。現任中央研究院天文及天文物理研究所研究助技師、《科學月刊》副總編輯。
曾獲第八屆李國鼎通俗科學寫作獎第參獎。著作包括《企鵝雄兵─用Linux進行電腦叢集計算》以及《Linux萬萬歲》(與謝寶慶合著);譯作包括《愛因斯坦的鏡子》(與邱家媛合譯)以及《下一波資訊革命─量子電腦》(與邱家媛合譯);主編《當天文遇上其他科學》、《穿越星空百億年》等書。
章節試閱
用髮夾debug的女人—Grace Hopper傳記
單維彰
Grace Hopper(1906~1992)本姓Murray,Hopper是夫家的姓。Grace於西元1906年12月9日在紐約出生。
從她的父親說起
Grace的爸爸是位保險業務員,應該不算是高級知識分子,但他是個相當特別的父親,在那個年代裡,很少有人會供女生去受高等教育。
Grace的父親曾經得了病,因此鋸掉雙腿,以木腿當作義肢。用義肢練習走路一段時間後,他又開始從事保險業務工作,可見他生性樂觀。他常對3個子女(1個兒子、2個女兒)說:「我用這雙木頭腿都可以出去工作,所以你們應該沒有辦不到的事情。」據說這番話對於孩子們的影響很深,Murray家的3個孩子都讀到了大學,不過只有Grace拿了博士學位。
Grace回憶她小時候最喜歡上的課是數學課,特別是幾何課。她說,那是因為她可以把鉛筆盒裡所有顏色的筆全部拿出來用。她從小還有一個特色,就是喜歡玩量角尺、計算尺這類的工程器具。她還做過一些通常是小男孩做的事,在6、7歲的時候,她曾經把家裡所有的鐘都拆開來,但是沒有一個裝得回去,因此受了很嚴厲的處罰。
Grace在1928年畢業於瓦薩大學(Vassar College),取得了數學與物理的學士學位。隨後到耶魯大學攻讀碩士,並在1930年得到數學碩士。畢業後沒有立即繼續就學,而是回到她的母校Vassar大學擔任教職。
1930年6月15日,Grace與Vincent Foster Hopper結婚。Vincent是紐約大學英文系教授,但是他在1945年時過世了,他與Grace沒有生育子女,而Grace也沒有再婚。
如願以償的從軍夢
結婚之後沒多久,Grace就決定要攻讀博士。Grace一邊教書,一邊在耶魯大學進修博士學位,並在1934年取得學位,前後只花了四年的時間,這算是相當快的。她的博士論文題目是「代數方程式可化約性的新判斷法」(A new Criterion for Reducibility of Algebraic Equations),論文中她運用一種幾何方法去解決代數問題。到這個階段為止,還看不出來這個人會跟計算機產生任何的關係。
直到1941年,Grace的人生產生了極大的改變。當時歐戰爆發,Grace有了從軍的念頭,她想加入海軍。當時女人從軍都是做後勤工作,大部分都是護士,再不然就是擔任文書後勤,這是我們在電影中常看到的。受過高等教育的女性,就可能被分配去擔任「人力計算機」,例如計算彈道。
每一座炮在能夠服役之前,都必須經過充分的試射,並且從試射資料中計算精密的彈道表。每一支炮管都有它獨特的彈道表,讓炮兵據以調整角度來控制炮彈的落點。彈道表的計算程序中需要做一組微分方程的數值解,當時雖然有求解的方法,但是卻沒有自動化的計算工具來執行這麼大量的計算。因此美國軍方將有計算能力的人(通常是女兵),聚集在一間大房子裡,讓她們擔任計算機的工作。
Grace本來要被分派到這種單位服務,但海軍告訴Grace,說她年紀太大(34歲),沒有適當的軍階和工作給她,因此婉拒了她的從軍夢。後來,不知是誰轉變了這個命運,有人發現Grace是一位數學博士,而當時的確有比單純計算機更高等的任務需要她這樣的人才。
讓Grace受基本訓練半年之後,海軍將她分派到哈佛大學的後勤計算局(Bureau of Ordinance Computation at Harvard University),當時的主持人是Howard Aiken (1900~1973)。Aiken是1939年的哈佛物理博士,也是Mark I、II、III、IV這一系列電機計算機的設計及製造者。
Mark I原來的名字是ASCC(Automatic Sequence Controlled Calculator)。它是由哈佛與IBM合資建造的,完成於1943年,有35噸重,內部的線路全長總共有500英哩。
但是在1944年Mark I啟用典禮之後,IBM和哈佛鬧翻了。因為哈佛人認為IBM只是個出錢的金主,主要的智能貢獻是哈佛人的功勞;而IBM認為自己也在工程上做了許多研究和創新,只是哈佛認為那些工程上的創新都不值一提。所以,IBM就從哈佛的Mark計畫中抽腿,後來的十年間,IBM在學術界的主要合作伙伴,變成了哥倫比亞大學。
Mark系列是電機型計算機。Mark I的數值都是23位的十進制整數或定點數,做一次加法要6秒,一次除法要12秒。Aiken持續在電機計算機方面發展,直到1952年的Mark IV。到那時候,已經明顯可見,電機計算機的設計,必將輸給電子計算機。由此可見,精明如哈佛,也並非一開始就押對了寶。
同一時期,麻省理工學院也沒押對寶,他們全力進行類比型計算機的研究。後來,幾乎是一夜之間,麻省理工學院放棄了所有關於類比型計算機的計畫,甚至解僱了整批助理和技師,改弦易轍從事電子計算機的研究。
根據Grace自己的說法,當她走進哈佛的計算工廠,第一眼看到那「巨大、醜陋」的Mark I時,就立刻愛上它了!其實IBM是很有格調的公司,他們設計的Mark I外形,還不算醜陋啦。
用髮夾debug的記錄
因為Grace從小就喜歡各種計算尺,所以當她見到這個電機計算機時,她說這是她看過最有趣的計算尺。在她之前,有兩個男生在Mark計算機上寫過程式,這兩個男生後來幫Hopper在三天內寫出了她的第一個程式。所以算起來,Hopper是第三個在電機計算機上寫程式的人。
Mark I還處於前組合語言時期,它的程式設計師直接用機器碼寫程式,而機器碼靠著一條打了洞的紙卷送進計算機。
利用紙卷、卡片或鋁板上的打孔位置來操縱機械的設計其來有自,最早出現在法國人Jacquard於1805年創造的自動織布機上,這台織布機的設計啟發了Babbage (1791~1871) 開始設計所謂的「分析機」,那是第一部可以程式化的機械型自動計算機。而且,資助Mark I的IBM公司本身,也是從發明與製造打卡機和讀卡機起家的。
1945年9月9日,發生了一樁大家或多或少聽說過的軼事。那天天氣很熱,他們把窗戶都打開來散熱,可能因此飛進來一隻蛾,而那隻蛾恰巧被夾死在一支繼電器裡面,造成電路不通而當機。經過將近一天的檢查,Hopper找到了那隻蛾,她用髮夾把那隻蛾夾了出來,並且鄭重地把那隻蛾的屍體貼在她的《管理日誌》裡面,在文字記錄中,她稱那隻蛾為bug。
今天在電腦界,遇到程式中有錯,都稱之為bug;而找到那個錯誤並修正它的程序就叫做debug。我們並不能說Hopper發明了bug的比喻和debug的說法,因為據考證,這種說法已經流行於那個年代、那個地區的電機工程師之間。只是Hopper找到的不是一個隱喻的bug,而是一隻真正的bug,使得這整個故事更饒富趣味,變成圈內人津津樂道的一個典故。
第一套程式語言創造者
1945年二次大戰結束後,Grace Hopper卻決定辭去瓦薩那邊的教職,要專心地在Aiken的實驗室裡做個程式設計師。
但是,時代的趨勢已經逐漸轉到電子計算機了。1949年,Hopper離開哈佛,到了費城,進入Eckert和Mauchley合開的電腦公司(Eckert-Mauchley Computer Corporation),擔任資深數學家,主要工作是幫忙設計軟體。
Mauchley跟Aiken一樣是位物理學背景的學者,他是美國第一部電子計算機ENIAC的主要設計者,也是實際建造它的計畫主持人。Eckert後來變成實現這個計畫的最主要電機工程師。如今主流的說法都稱ENIAC為世界上第一部電子計算機,雖然它在許多設計理念上堪稱第一,但是就電子形式的可程式化自動計算機器而言,德國和英國其實都有更早的發明與成品,只是因為戰爭而中斷發展或列為機密了。
Eckert-Mauchley公司設計出來的第一套電子計算機叫做UNIVAC I,它通常被列為世界上第三部電子計算機。也是從這部電腦上,發展出來組合語言。Eckert-Mauchley成立了很短的時間就被Remington Rand併購,又過沒多久,Remington Rand跟幾家小公司合併,成立Sperry。
儘管公司的名字和東家換來換去,但Grace一直在那裡擔任資深數學家與程式設計師,直到1971年她65歲屆齡退休為止。
Grace對電腦界的貢獻相當多,像bug和debug這個字彙的引入,只是一段小小的插曲。她的最大貢獻是創造了第一套程式語言以及它的編譯器(compiler):A-0。當時的程式設計人員,都在紙上寫出想要電腦執行的工作流程,然後將這筆流程翻譯成機器碼,然後在紙卷或紙卡上打孔,再送到機器裡面去執行。Grace在進Eckert-Mauchley這家公司之後,便有了一種想法,希望能設計一套語言和翻譯程式,讓人能夠用類似英文的語法把想做的事寫下來,然後用程式把英文翻譯成機器的語法,交給機器去執行。
當她提出程式語言與編譯器的構想時,眾人皆曰不可。所有人都告訴她,電腦只能做計算,只能加減乘除,只能處理數字,電腦是不懂英文的。由此可見,在1950年代,大部分人尚未意識到電腦是用來處理資訊的工具,它只不過是一部很快很快的計算機而已。Grace Hopper可能是第一個蹦出這個想法、而且有機會去執行的人。
爾後,Grace Hopper就到處去演講,到處去宣揚這個想法,並且設法說服有錢的單位資助她執行這項計畫。後來有朋友問她說:「妳怎麼這麼勇敢呢?萬一搞砸了,妳該怎麼辦?」,Grace的回答是:「It's always easier to ask forgiveness than it is to get permission.」(日後道歉,比現在的籌錢過程簡單多了),這句話成為她一生中的至理名言之一。
COBOL的催生者
Grace在1952年發展出第一套實驗性的編譯器,在Sperry的機器上執行,叫做 A-0,後來又發展了A-1和A-2。當初在寫A-0時,為了向出錢的老闆炫耀,她還設計了三個版本:英文、德文與法文。她給人看的電腦程式不僅可以看得懂英文,也看得懂德文跟法文。後來德文跟法文的版本都沒再做下去。到了1956年,她已經做出來一套蠻完整的程式語言,叫做FLOW-MATIC。海軍採用了這套系統(Grace Hopper一直沒有從海軍退休)。後來海軍跟一些民間的公司想要把FLOW-MATIC變得更標準一點,這也是Grace Hopper對電腦界的另一個重大貢獻。
海軍幅員廣大,各單位因為自行將FLOW-MATIC稍加修改以滿足當地的需求,使得A地撰寫的程式在B地可能無法編譯。為了這個標準化的任務,Grace Hopper寫了一套程式,用來檢查一篇程式是否符合語法標準;這種程序現在稱為Validation。後來影響到民間,漸漸發展出一套新的語言,後來被正式的標準化,叫做COBOL(Common Business Oriented Language)。直到現在,COBOL仍是金融界最常使用的程式語言。
比Grace研發A-0稍晚,IBM公司裡一位相對來說頗為資淺的數學家John Backus提出他自己的程式語言計畫,1957年正式上市,就是FORTRAN。1950年代的三種如今稱為「恐龍級」的程式語言,有COBOL、FORTRAN和ART,其中兩個一直活到今天。
美國女性海軍少將第一人
1966年Grace Hopper年滿60歲,她當時的官階是海軍中校,而中校官階應當在60歲退休,因此海軍就請她退休了。Grace Hopper說,那是她一生中最悲傷的一天,因為海軍已經是第二次嫌她太老了(她在34歲想要從軍的時候是第一次)。
可是海軍在她退休後沒多久,發現沒有她是不行的,因為海軍裡還有很多電腦化、自動化和正規化的工作尚未完成。所以在她退休後的五個月,海軍升了她的官階,並要求她復職。所以,她在1967年8月1日又回到海軍,擔任了好幾個海軍的計算中心主持人或顧問,指揮那些海軍的技術人員,並且到處去演講,宣傳她的計算與管理觀念。
她有一個特別的演講道具。當她發現總是沒辦法讓聽眾感覺什麼是nanosecond(十億分之一秒),而microsecond(百萬分之一秒)跟nanosecond差多少的時間?它們都是很短很短的時間,卻又相差了1000倍。有一天,Grace去工程部切了一段長度為11.78英吋的電纜線,她手上拿著這將近一呎的電線跟聽眾說:「這個長度就是電流在一個nanosecond可以跑的距離。」然後指著地上放著的一大捆電纜線說:「那個長度就是電流在一個microsecond跑過的距離。」這是個讓人印象鮮明的具體概念。然後她說:「你們要小心,絕對不要隨便浪費一個microsecond的電腦時間。」
後來有一位從來不曾見過Grace Hopper的參議員,因為聽說了她的事蹟,並且自己私下做了些調查,就在國會裡面提出Hopper的升官申請案。他認為這樣重要的女性,不應該只擔任一個校官而已,她應該做將官。國會很快地通過這個提案,通知了海軍,Grace Hopper在1985年11月變成了海軍少將,她是美國第一個到達這個官階的女性。1986年,她79歲,是所有活著的、還沒除役的以及參加過二次世界大戰的美國軍官中,年紀最大的一位。那時候她常說:「年齡不到我一半的人就叫做年輕人。」
與時俱進的金頭腦
老雖然是老,她卻還是能夠接受新觀念。
想想她從1945年占據整棟倉庫的電機型計算機開始,一路陪著計算機科學與產業走來,到了1980年代,看到如Digital中型電腦與Apple和IBM個人電腦的現身。以她的年紀和經歷,我們實在可以原諒她成為一個懷舊而固執的老人,而不至於責怪她無法接受像PC這樣的新電腦與新觀念(當時有非常多這樣的電腦界前輩)。但是,Grace並不需要我們原諒。她接受了PC,並且還成為海軍裡最極力推展使用PC的人之一。
為此,她也留下一句名言。她說在古老的時候,人都是用牛跟馬來拖東西。後來人類發展越來越蓬勃,東西變得越大越重,但是人們沒有發明、飼養更大更壯的牛和馬來搬運東西;事實上,人們是設法讓更多的牛跟馬來一起搬運東西。她用這個比喻來說,人們不該製造更大的電腦來處理更大型的問題,而是應該設法用更多的小型電腦來協同處理大型的問題。這不就是現在的分散式格網計算觀念嗎?
Grace Hopper逝世於1992元旦凌晨,前一晚她還參加了新年派對。她生前有個心願是活到1999年12月31日晚上,因為她想參加那一場新年派對。
Grace Hopper留下許多名言,我個人最喜歡的是這一句「A ship in port is safe, but that is not what ships are built for.」(把船停靠在港灣固然安全,但那不是我們造船的目的),這是一句適合海軍少將說的話。(本文圖片皆由作者提供)
用髮夾debug的女人—Grace Hopper傳記
單維彰
Grace Hopper(1906~1992)本姓Murray,Hopper是夫家的姓。Grace於西元1906年12月9日在紐約出生。
從她的父親說起
Grace的爸爸是位保險業務員,應該不算是高級知識分子,但他是個相當特別的父親,在那個年代裡,很少有人會供女生去受高等教育。
Grace的父親曾經得了病,因此鋸掉雙腿,以木腿當作義肢。用義肢練習走路一段時間後,他又開始從事保險業務工作,可見他生性樂觀。他常對3個子女(1個兒子、2個女兒)說:「我用這雙木頭腿都可以出去工作,所以你們應該沒有辦不到的事情。」據...
目錄
數學
由淡入濃:如是我觀涂靈形象--李國偉
用髮夾debug的女人:Grace Hopper傳記--單維彰
懷念陳省身:二十世紀的幾何大師--王金龍
紀念歐拉三百誕辰:永遠的數學導師--李武炎
物理
牛頓雞為什麼過馬路?--曾耀寰
愛丁頓雞為什麼過馬路?--曾耀寰
愛氏雞為什麼過馬路?(一)--曾耀寰
愛氏雞為什麼過馬路?(二)--曾耀寰
薛丁格雞為什麼過馬路-曾耀寰
庖立雞為什麼過馬路--曾耀寰
化學
德國化學之父:李比希--儲三陽
諾達克夫婦的故事--劉廣定
地科
茲維齊雞為什麼過馬路?--曾耀寰
哈柏雞為什麼過馬路?--曾耀寰
希帕克斯雞為什麼過馬路--曾耀寰
錢卓雞為什麼過馬路--曾耀寰
戈達雞為什麼過馬路--曾耀寰
中國地質學開山大師翁文灝先生--劉昭民
臺灣地質學開山大師馬廷英先生--劉昭民
生物
臺灣動物學的啟蒙者陳兼善先生--賴春福
臺灣植物分類學的奠基者劉棠瑞先生--李學勇
華陀:中國麻醉科及外科醫學之鼻祖--鍾金湯、劉仲康
中國生理學之父:l林可勝先生--張之傑
貢獻卓越的微生物學家:劉榮標先生--鍾金湯、劉仲康
引玉拋磚:緬懷克立克--程樹德
現代細胞遺傳之父:賴德堡博士--許英昌
追憶佘約翰教授:紀念一位真實的科學家--賴明宗
西摩爾.班澤是何方神聖?--羅時成
數學
由淡入濃:如是我觀涂靈形象--李國偉
用髮夾debug的女人:Grace Hopper傳記--單維彰
懷念陳省身:二十世紀的幾何大師--王金龍
紀念歐拉三百誕辰:永遠的數學導師--李武炎
物理
牛頓雞為什麼過馬路?--曾耀寰
愛丁頓雞為什麼過馬路?--曾耀寰
愛氏雞為什麼過馬路?(一)--曾耀寰
愛氏雞為什麼過馬路?(二)--曾耀寰
薛丁格雞為什麼過馬路-曾耀寰
庖立雞為什麼過馬路--曾耀寰
化學
德國化學之父:李比希--儲三陽
諾達克夫婦的故事--劉廣定
地科
茲維齊雞為什麼過馬路?--曾耀寰
哈...
購物須知
關於二手書說明:
商品建檔資料為新書及二手書共用,因是二手商品,實際狀況可能已與建檔資料有差異,購買二手書時,請務必檢視商品書況、備註說明及書況影片,收到商品將以書況影片內呈現為準。若有差異時僅可提供退貨處理,無法換貨或再補寄。
商品版權法律說明:
TAAZE 單純提供網路二手書託售平台予消費者,並不涉入書本作者與原出版商間之任何糾紛;敬請各界鑒察。
退換貨說明:
二手書籍商品享有10天的商品猶豫期(含例假日)。若您欲辦理退貨,請於取得該商品10日內寄回。
二手影音商品(例如CD、DVD等),恕不提供10天猶豫期退貨。
二手商品無法提供換貨服務,僅能辦理退貨。如須退貨,請保持該商品及其附件的完整性(包含書籍封底之TAAZE物流條碼)。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱
退換貨原則、
二手CD、DVD退換貨說明。