作者 | 年素清
責編 | 伍杏玲
出品 | CSDN(ID:CSDNnews)
芭芭拉·利斯科夫(Barbara Liskov)是美國第一個計算機科學女博士,也是2008年圖靈獎得主,她一生致力於程序設計的研究,研究成果給計算機編程領域帶來了巨大的變革,極大地推動了計算機行業的發展。
美國第一個計算機科學女博士
利斯科夫於1939年出生在美國洛杉磯,1961年在加州大學伯克利分校取得學士學位。讀書期間,利斯科夫是班裡100名同學中僅有的兩名女生之一,勤奮好學的她不顧周遭的眼光修完了所有和數學、科學相關的課程。
畢業後,利斯科夫進入哈佛大學工作成為一名程序媛,方向是自然語言翻譯,難度比她預想中的大得多。之後,她向史丹福大學申請讀研究生,師從1971年圖靈獎得主約翰·麥卡錫(John McCarthy)教授。
1968年,利斯科夫以一篇題為《一個可以處理西洋棋殘局的電腦程式》的論文獲得博士學位,成為美國有史以來第一個計算機科學女博士。
從被MIT拒絕到主動邀請
博士畢業後,利斯科夫先向麻省理工學院(MIT)發去求職申請,但得到的反饋無法給予教職。
緊接著她進入MITRE公司工作,公司讓她到研究部門從事計算機作業系統的開發,她開始深入的研究編程方法。
利斯科夫領導研究小組開發出了一個交互式的小型分時作業系統「維納斯(Venus)」。
1971年,利斯科夫基於Venus的開發經驗撰寫了一篇論文,被「作業系統原理學術討論會」所錄用,並被安排在一個分組討論會上報告,在學術界引起不小的關注。
主持分組討論的是MIT的傑瑞·薩爾茨(Jerry Saltzer),他非常欣賞利斯科夫表現出來的對計算機的深刻理解和探索精神,極力動員利斯科夫到MIT工作。
1972年,利斯科夫進入MIT工作,成為整個MIT的第二位女教授、計算機系的第一位女教授,主管研究工作。
改變編程的女教授
上個世紀50年代,goto語句由於語法簡單而被廣泛運用到實際操作中去。但是goto語句沒有邏輯章法,難以閱讀,程序錯誤的話可能會有嚴重的後果。曾經有一臺被程序控制的放射治療機,因為使用了過時的程序設計方法,導致6名患者受到了嚴重超劑量的輻射而不幸身亡。
在這種困境下,計算機行業亟需一個更加規範的程序設計基本架構。
上個世紀60年代,曾有兩位計算機學家提出,可以使用順序、選擇和循環三種結構化的程序完全代替goto語句,但這僅僅停留在理論階段,他們並沒有將之付諸實踐。
1974年,利斯科夫和她的學生經過多年的辛苦研究,在此理論基礎上發明了一種新的程式語言CLU。
CLU完全拋棄了goto語句,雖然這種程式語言沒有被廣泛採用,但是它對面向程式語言的發展起到了舉足輕重的影響,當今被世界各地的程式設計師們所使用的Java、C++、C#、Python都是基於CLU而設計出來的。可以說,沒有CLU,就沒有現在的這些程式語言,利斯科夫改變了編程。
利斯科夫對程序設計的貢獻不僅於此。
現代面向對象程序設計的5大原則中的「裡氏替換原則」就是以她的名字命名,由她與和周以真共同提出,這個原則克服了繼承中重寫父類造成的可復用性變差的缺點,保證了程序的正確性,降低了代碼出錯的可能性。
直到今日,所有面向對象編程的程式設計師在寫代碼時都遵循著這項原則。
此外,利斯科夫還領導了許多重要項目的研究,包括第一個支持分布式程序實現的高級語言Argus、面向對象資料庫系統Thor以及Byzantine分布式容錯系統。
榮譽加身,倡導職場平等
作為美國傑出的女性計算機科學家,利斯科夫獲得了很多的榮譽:1996年,被美國女工程師協會授予成就獎(Achievement Award);2002年,入選著名的《發現》雜誌評選世界上最重要的50個女科學家;2004年,被IEEE授予馮諾伊曼獎章;2008年,獲得圖靈獎,同時ACM 的SIGPLAN授予她「程序設計語言成就獎」。
同年,MIT在宣布命名利斯科夫為「講座教授」(Institute Professor),這是教授中的最高榮譽,目前MIT全校在崗的講座教授包括利斯科夫只有13個,全是各學科頂尖的領軍人物。
儘管利斯科夫後來成為了計算機領域受人景仰的大家,但很少有人知道在她成名之前因為自己的性別問題而遭受的歧視和不公正的待遇。
早在利斯科夫從伯克利分校畢業時,她就打算報考普林斯頓大學數學系研究生,但對方以「從未招收過女研究生」為由拒絕了她。
當她在史丹福大學博士畢業時,顧問會通過與全國各地部門的合作來安排畢業生的工作,類似於上世紀中國大學的「包分配」制度。眼看身邊的男同學都被推薦到了學術方向的工作崗位,利斯科夫卻無人問津,求職MIT也受挫。面對如此情況,利斯科夫只能認為「是我自己還不夠優秀」。
後來,利斯科夫因為在計算機界嶄露頭角而被聘入MIT,但情況並沒有好轉。初入職的她發現大約1000名員工中只有10名不到的女性教員,很多表現優秀的女員工一直拿不到正式職稱,在科學領域,很少有人能夠意識到女性也能做出一些基礎性貢獻。在利斯科夫擔任計算機科學系主任之前的10年裡,部門只招收了一個女性教員。
2008年,當利斯科夫獲得了計算機界的「諾貝爾獎」時,竟然還有人在背後議論說:「她做的工作,沒有我不知道的。為什麼她會獲得圖靈獎?那個工作不是她做的,是一個男同事替她做的。」
利斯科夫憤怒地說道:「簡直一派胡言!」
為了打破這個局面,利斯科夫一直積極倡導職場平等。2001-2004年,在利斯科夫擔任計算機科學系主任期間,她共聘用了7名女性教員。她建議女性在發展事業時說道:「在你能真正站起來之前,保持低調,然後再去擁抱成功!」
給年輕人的建議
在談到自己成功的經驗時,利斯科夫表示:「沒有專心致志的精神就不會成功,創造性偶爾會出現,但這不是人所能計劃的。專心做一件事,不一定會有創造性的想法,但是這總會讓你有所進步。」
利斯科夫建議不要時時刻刻都想著它,很多有創意的想法都是在比較輕鬆的時刻出現的。利斯科夫從來不晚上在家工作,而是喜歡早晨進入工作狀態之後再想應該做什麼,這個時候往往會有一些好的想法湧現,因此既要有精力高度集中的時刻,也需要有喘息的機會,注意勞逸結合。
利斯科夫認為年輕人整天在工作,忽略朋友和社交,丟掉興趣愛好,這些是不可取的。有平衡的生活狀態是十分重要的,富有幽默感也很重要。有些人愛抱怨,不妨微笑著面對生活中出現的諸多不如意,事情往往反而會向一個積極的方向發展。
最後,利斯科夫建議我們要信任他人。
參考連結:
https://baike.baidu.com/item/Barbara%20Liskov/1578598?fr=aladdin
https://www.sohu.com/a/360901008_168662
https://blog.csdn.net/QbitAI/article/details/103555853
https://baijiahao.baidu.com/s?id=1652635785025330488&wfr=spider&for=pc
http://blog.sina.com.cn/s/blog_5d567fb20101annb.html
點分享