世界上最偉大的女程式設計師
給你十秒鐘你能說出多少個世界上最偉大的程式設計師?
你可能會說出下面這些答案:
- Java 之父 :詹姆斯 · 高斯林 James Gosling
- Python 之父:吉多 · 范德羅姆 Guido van Rossum
- Linux 之父:林納斯 · 托瓦茲 Linus Torvalds
- C 語言之父:丹尼斯 · 里奇 Dennis Ritche
- Unix 創始人:肯 · 湯普遜 Ken Thompson
- 微軟 :比爾 · 蓋茨 Bill Gates
- 並發包之父 : Doug lea
……
但是這些名字的背後都有一個特徵:男人。所以我們無外乎都有一種遐想,即電腦是由男人創造的,在座的各位小夥伴們捫心自問有沒有這種想法。
如果沒有的話,那麼你可能多少了解幾個女程式設計師的故事,如果你腦子裡充滿著”電腦是由男人創造的”這種狹隘的思想的話,那麼請吃千噸錘。
這篇文章我們就來盤點一下這世界上那些非常偉大的女程式設計師,而且這些程式設計師,都是美女。
所以比你優秀的人可能長得還比你好看,簡直卷到古代去了。
Ada Lovelace
Ada 被譽為世界上第一個女程式設計師。她是編程歷史上的一位傳奇女性,同時她也是第一個給電腦編寫程式的人。她還是著名詩人拜倫的女兒。Ada 與電腦的淵源頗深。
1834 年,當時還是一名出色的機械工程師查爾斯 · 巴貝奇發明了一種可以順序執行函數命令的機器 — 分析機,並邀請了各行各界的朋友觀摩,Ada 和其母親也有幸參與了巴貝奇舉辦的參觀,Ada 見到分析機之後就對其產生了濃厚的興趣,並對分析機的運行原理略知一二,這引起了巴貝奇的注意,後來巴貝奇邀請 Ada 和他一起改良了分析機。
在 1842-43 年的九個月期間,Ada 翻譯了義大利數學家Luigi Menabrea 關於巴貝奇最新提出的機器分析引擎的文章,並在文章中加滿了她自己的理解和注釋。
由於解釋分析引擎的功能是一項艱巨的任務;許多其他科學家沒有掌握這個概念,英國機構對此也沒有表現出什麼興趣,所以這項工作在當時社會是一項不切實際的任務。Ada 的這份筆記是電腦發展歷史上一個重要的里程碑,它超越了這個時代,才得以使後來人們站在巨人的肩膀上窺探電腦的全貌。
網友在惡搞 Ada 的同時也體現了對她的尊敬,於是把她 P 成了這樣。
後來,為了紀念 Ada 對現代電腦與軟體工程所產生的重大影響。America 國防部將一種高級程式語言命名為 Ada 語言。
也許是天妒英才,年僅 36 歲的 Ada 由於宮頸癌去世,她留給後人的只有這一份珍貴的寫滿了其註解的筆記和她為分析機編寫的”第一個程式”。
Ada 被後人所銘記最重要的貢獻是:她編寫了世界上第一個電腦程式。
Grace Hopper
“Hopper believed that computers would someday be widely used and helped to make them more user friendly. “
Hopper 希望有朝一日電腦能被廣泛使用並且對我們越來越友好。這是 Hopper 生平最希望看到的。
Grace Hopper 是電腦先驅和海軍軍官,她獲得了耶魯大學碩士和博士的數學學位。Hopper 以口齒伶俐和才華橫溢著稱,她在 America 的海軍部門和私企部門都具有非常大的影響力。要知道,在此時的 America 社會,女人在軍方掌權和具有影響力是一件極其困難的事情。
在珍珠港爆炸後和第二次世界大戰 America 加入後,Hopper 以海軍的身份加入戰爭。雖然剛開始 Hopper 由於身材矮小被拒絕,但她還是堅持了下來。在二戰之後的 1943 年 12 月,Hopper 被分配到哈佛大學船舶計算項目組。在這個項目組,Hopper 和 Howard Aiken(愛德華 · 鄧肯)一起工作,Howard Aiken 開發了 IBM 自動序列控制計算器,更廣為人知的是 Mark I,它是最早的電腦之一。Hopper 的主要工作之一就是負責對 Mark I 進行編程並將機器指令打到磁帶上。同時她還為 561 頁的 Mark I 編寫了用戶手冊。
所以說 America 軍方和電腦之前的聯繫以及二戰和冷戰的培育,造就了 Hopper 的職業道路。
Hopper 和她實驗室的同事們致力於研究對戰爭的精確計算,比如計算火箭彈道,為高射炮創造射程表等,除此之外,Hopper 和她的同事們還完成了軍隊的計算,並且在馮諾依曼研製投放在日本炸彈中起到了巨大的作用。
戰後,Hopper 決定留在哈佛,成為了工程科學和應用物理學的研究員,伴隨著從哈佛和海軍獲得的資助,Hopper 幫助開發了 Mark II 和 Mark III 電腦,在 1945 年一個晚上,Hopper 在開發 Mark II 時和她同事遇到了一個問題,當她們拆開機器的時候,發現了一隻大蛾子。雖然很多工程師都使用 bug 一詞來描述機械故障,但是 Hopper 是第一個將電腦問題稱為 bug 並談到 debugging 的人。
1946 年,由於年齡的原因,海軍拒絕了對她定期的資助,Hopper 離開了海軍。此後不久當她明顯不會被提升稱為終身教授時,Hopper 離開了哈佛。1949 年,她加入費城的 Eckert-Mauchly 電腦公司,擔任高級數學家。該公司很快被 Remington Rand(雷明頓蘭德)收購,根據軍隊合約開發了第一台電子電腦(ENIAC)。
1952 年,她的編程團隊開發了第一個名為 A-0 的電腦語言編譯器,這個編譯器將數學程式碼翻譯成機器可讀的二進位程式碼,她們實現了為多台電腦開發程式而不僅僅是單台電腦開發程式。然後她們團隊開發了 Flow – Matic ,這是第一個使用類似英語命令的程式語言。與使用數學符號的 FORTRAN 不同,Flow – Matic 使用的是常規英語單詞。
Hopper 一直致力於讓電腦更加貼近用戶的使用:她開發用英語作為日常編程使用的語言是一種重要實踐,更重要的是 1959 年 COBOL 語言作為第一個商業電腦語言被引入後,Hopper 仍促進了這門語言被軍隊和私企用戶使用。在整個 1960 年代,她都在致力於為 COBOL 開發編譯器,使得 COBOL 稱為 70 年代最受歡迎的程式語言。
縱觀 Hopper 的整個職業生涯,她都一直是海軍預備役人員。她在軍隊服役了 19 年的時間。
Hopper 在她生命的盡頭成為了一個廣為人知的人物。她獲得了 40 多個榮譽學位,許多獎學金、教授職位、獎項和會議都以她的名字命名。1991 年,喬治·布希總統授予 Hopper 國家最高技術獎國家技術獎章;她是第一位獲得如此榮譽的女性。
Hopper 在晚年獲得了如此多的關注甚至成為 “名人”,是由於一位來自伊利諾伊州的共和黨國會議員在 1983 年的「60 分鐘」節目中看到了對 Hopper 的採訪,看到採訪後,他成功地提出了一項法案,讓 Hopper 晉陞為準將軍銜。當她在 79 歲時作為海軍少將退休時,Hopper 是 America 武裝部隊中最年長的現役軍官。1992 年,Hopper 去世,她以全軍榮譽被安葬在阿靈頓國家公墓。
2016 年,Hopper 追授了 America 最高平民榮譽總統自由勳章,以表彰她對電腦科學領域的卓越貢獻。
Margaret Hamilton
Margaret Hamilton 是 America 電腦科學家、系統工程師和企業家,同時她也是麻省理工學院儀器實驗室軟體工程部主任,這個實驗室專門為 Apollo 太空計劃開發機載飛行軟體。
Hamilton 就她參與的 60 個項目和 6 個主要項目發表了 130 多篇論文、論文集和報告。 2016 年她因領導 America 宇航局 Apollo 登月任務機載飛行軟體開發的工作而被 America 總統巴拉克奧巴馬授予總統自由勳章。
1961 年 – 1963 年間,她在林肯實驗室從事 SAGE 項目,在這裡她為一台 AN/FSQ-7 電腦(XD – 1)編寫軟體,同時她還為空軍劍橋研究實驗室編寫了軟體。SAGE 項目是由麻省理工學院發起的旋風項目的擴展,這個項目旨在為創建一個可以預測天氣系統並通過模擬器跟蹤其運動的電腦系統。SAGE 很快被開發應用于軍事用途,用於在冷戰期間抵禦潛在的蘇聯攻擊的防空。
Hamilton 用這樣一句話描述了她的工作:
當你作為初學者參與這項工作時,他們經常讓你做的是給你分配一個沒人能夠弄清楚或運行的程式。當我還是初學者時,他們也給了我。這是一項很棘手的任務,編寫它的人很高興他所有的評論都是用希臘語和拉丁語寫的。所以我被分配了這個程式然後我運行了一下,它甚至用拉丁語和希臘語列印了答案。我是第一個讓它工作的人。正是她在這個項目上的努力使她成為 NASA Apollo 飛行軟體首席開發人員的候選人。
Hamilton 隨後加入了麻省理工學院查爾斯·斯塔克·德雷珀實驗室,這個實驗室當時正在從事 Apollo 太空任務。她領導了一個為 Apollo 和 Skylab 開發軟體的團隊。Hamilton 團隊負責開發飛行軟體,其中包括由多位資深科學家為 Apollo 指揮艙、月球著陸器和天空實驗室涉及的演算法。她團隊的另一部分人設計和開發了系統軟體,其中包括錯誤檢測和恢復軟體。在電腦科學課程匱乏並且軟體工程課程不存在的時期,她付出了太多。
Hamilton 的專業領域太多了,多到現在的我都沒聽過其中的很多概念,包括系統設計和軟體開發、企業和流程建模、開發範式、正式系統建模語言、面向系統的系統建模和開發對象、自動化生命周期環境、最大化軟體可靠性和重用的方法、領域分析,內置語言屬性的正確性,健壯系統的開放架構技術,全生命周期自動化,品質保證,無縫集成,錯誤檢測和恢復技術,人機介面系統,作業系統,端到端測試,技術和生命周期管理技術。
她最出名並一直被人傳誦至今的事迹就是在 Apollo 11 號任務的關鍵時刻,Apollo 制導電腦與機載飛行軟體一起避免了登月失敗。事情是這樣的:
在月球著陸器到達月球表面前三分鐘,觸發了幾個電腦警報。由於向著陸器的交會雷達供電的相位不正確,電腦因中斷而過載。程式警報顯示「執行溢出」,這意味著制導電腦無法實時完成所有任務,不得不推遲其中的一些任務。 J. Halcombe Laning 設計的非同步執行程式允許電腦通過優先處理任務來應對不斷增長的需求。Hamilton 的優先警報顯示打斷了宇航員,以警告他們有緊急情況是否著陸,NASA 任務控制電腦工程師傑克·加曼(Jack Garman)認識到優先顯示向宇航員呈現的錯誤的含義,並喊道:「繼續前進」,於是他們繼續前進。於是 Hamilton 設計的軟體被冠以 「超可靠軟體設計的基礎」。
圖為 Hamilton 在阿波羅指令艙實體模型內
除此之外,她還發明了「軟體工程師」這個術語,以至於後人在此基礎上創造了一個職業。
Lois Haibt
當 Lois Haibt 剛從大學畢業後就接收了 IBM 的工作機會時,她對電腦編程就只有一個模糊的概念。當時 IBM 正在開發一種能夠改變一切的程式語言。作為一名年輕的問題解決者和傑出的數學科學工作者,她符合 IBM 的要求。Lois 是十人團隊中唯一的女性,而且在 IBM 之前,Lois 從未接觸過電腦。
Lois 參與的這個項目,就是大名鼎鼎的 FORTRAN,Lois 成為團隊中重要的一員。六個月後,她被安排進編譯器項目中,此後再沒有離開過。Lois 在 FORTRAN 編譯器的核心構建了流分析,此後 FORTRAN 成為像國家氣象局這種官方機構下所使用的標準語言,這門語言很快被認為是電腦編碼的突破。
Barbara Liskov
Barbara 是因為找不到一份有趣的數學工作,才選擇成為一名程式設計師的。她在斯坦福還沒有電腦課程之前就進入了斯坦福大學,在斯坦福大學,Barbara 和其他同學開展了人工智慧項目,並成為這個項目第一位獲得電腦科學博士的女性。
Barbara 為編碼的進步做出了重要的貢獻,她領導了 CLU 的設計和實現,創造了第一個支援數據抽象的高級語言 Argus,以及面向對象編程的 Liskov 替換原則。
2008 年,Barbara Liskov 贏得了 A.M.圖靈獎,電腦科學界的最高榮譽之一。Barbara 是麻省理工學院的教授,她在 Java、C# 和 C++ 在內的每一種現代程式語言中都可以看到她的創新。
那麼這些優秀的女程式設計師為什麼我們都不知道她們的事迹呢?
因為這世界上掌握科技資源的一直都是男性,當我們提到程式設計師群體這個概念時,大部分想到的都是這樣。
女程式設計師群體大多數是人們的認知荒漠和資源傾倒的受害者,所以這不難理解為什麼連我們程式設計師都不知道她們。
因為只有黑眼圈 + 佝僂背 + 脫髮才符合大多數人心中對程式設計師的合理定義,所以當身邊七大姑八大姨叫住我們修電腦和修路由器而我們對他們解釋說:”我是程式設計師,不是售後維修”的時候,當他們會說:”誒你個搞電腦的怎麼連這個也不會啊” 的時候,我們就只能默默苦笑了。
原文鏈接:這些女大佬們,簡直了!