衛報: Peter Landin, 為現代軟體奠定基礎的電腦科學家

原文: Peter Landin obituary: Computer scientist whose ideas underpin modern software, Richard Bornat. Guardian, Tuesday 22 September 2009 19.00 BST.

因前列腺癌逝世,享年 78 歲的 Peter Landin 有著多采多姿的一生:他是政治基進份子、同志運動者、和傑出的電腦科學家。靠著他在 1950、60 年代提供的創意,他打下了驅動著今日筆記電腦、桌上電腦、和網路的軟體的基礎。

電腦史初期,為一種機器寫的軟體無法在其他機器上執行。電腦科學家想要定義通用的「程式語言」。這在今日能成為理所當然 — 例如,網路上的軟體能在各種電腦上執行 — 得歸功於 Peter 的洞見:程式的意義可由數學邏輯捕捉,而不必受控於電腦製造者。

Peter 的動力總是無政府、顛覆性的。他的研究名副其實地是從「地下」開始的:已過世的怪人 Mervyn Pragnell 在倫敦 Birkbeck 學院地下室辦了一個非正式的討論會,由他認識的一個實驗室技術人員幫他開門。Pragnell 在書店裡徘徊,注意哪些人常買數學邏輯的書,然後邀他們來討論會。Peter Landin 在討論會中扮演指引的角色。許多傑出電腦科學家是從這出身的。

Peter 的想法總以幽默的方式表達。最早的幾個程式語言名字,如 Fortran, Snobol 等等都像是機器人。他則提出了一個有邏輯定義的語言,取名為 ISWIM — “If You See What I Mean(如果你懂我的意思)。” 這個笑話後來成了重要的技術突破,連現在的 Java 與 Javascript 都受其影響。

Peter 出生於 Sheffield, 是家中獨子,父親是會計師,在第一次世界大戰中受傷。Peter 在 Sheffield 念 King Edward VII 中學。在兵役中他曾試著訓練一班士兵模擬二進位加法當作娛樂。他在劍橋 Clare College 花了兩年拿到數學學位,然後試著念困難的碩士級第三段課程,但只拿到第三等學位。

1960 年他與 Hanne 成婚,之後經歷數任工作:在倫敦擔任程式員,在紐約擔任研究員,在麻省裡工學院任教。1967 年他回到英國,在倫敦大學瑪麗皇后學院任教,直到其學術生涯最終,後來成為理論計算科學榮譽教授。他對教學很有熱忱,不僅指導學生,他的同事們實質上也像是他的研究助理。他的影響力持續發揮,但漸漸地他對電腦科學失去了興趣。

無論怎麼說,電腦科學並不是他生命的全部。他也是個政治基進份子,常參與抗爭,並曾與 Bertrand Russell 1960 年創立的反戰組織百人委員會 (Committee of 100)同在一場示威中被捕。

Peter 也是有成就的音樂家,常在研究會結束時演奏鋼琴。但個性上,他對音樂的興趣是理解多於表演:每個新橋段都是一個新挑戰。

一直是雙性戀的他在 1970 年代早期投入了同志解放陣線的運動。1973 年他與妻子和平分手,直到死前仍與她和子女保持密切聯繫。此後他積極參與同運,他在卡姆登 Rona Road 的房子成了一個同志公社。他扮演的角色偏向贊助者而非運動者。許多同運政策方向都在他家中的討論成形。音樂劇 Aids: the Musical! 在此成形,在 80 年代中期因對抗英國地方政府議案第28條款修正案(地方政府不得宣揚同性戀或出版宣揚同性戀之文件)而重起的同志遊行也在此萌芽。

晚期的他認為電腦是個已被大企業和監視國家濫用的壞主意,他之前的提倡是白費力氣。不論他怎麼想,他的想法奠定了電腦科學發展的基礎。

他的遺族包括 Hanne 和兩名子女,Daniel 與 Louise.

Peter John Landin, 電腦科學家、學者、與同志運動者,生於 1930 年六月五日,死於 2009 年六月三日。

This entry was posted in 人物, 計算算計 and tagged , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

One Trackback

Post a Comment

Your email is never published nor shared. Required fields are marked *

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
*