歷史上最偉大的 12 位程式設計師 - OSCHINA - 中文開源技術交流社區

2020-12-05 開源中國

所謂程式設計師,是指那些能夠創造、編寫電腦程式的人。不論一個人是什麼樣的程式設計師,或多或少,他都在為我們這個社會貢獻著什麼東西。然而,有些程式設計師的貢獻卻超過了一個普通人一輩子能奉獻的力量。這些程式設計師是先驅,受人尊重,他們貢獻的東西改變了我們人類的整個文明進程。下面就讓我們看看人類歷史上最偉大的12位程式設計師。

1、第一位電腦程式員:埃達·洛夫萊斯 Ada Lovelace

埃達·洛夫萊斯,原名奧古斯塔·埃達·拜倫,是著名英國詩人拜倫之女。數學愛好者,被後人公認為第一位電腦程式員。

在1842年與1843年期間,埃達花了9個月的時間翻譯義大利數學家路易吉·米那比亞講述查爾斯·巴貝奇計算機分析機的論文。在譯文後面,她增加了許多註記,詳細說明用該機器計算伯努利數的方法,被認為是世界上第一個電腦程式;因此,埃達也被認為是世界上第一位程式設計師。不過,有傳記作者也因為部份的程序是由巴貝奇本人所撰,而質疑埃達在電腦程式上的原創性。

埃達的文章創造出許多巴貝奇也未曾提到的新構想,比如埃達曾經預言道:『這個機器未來可以用來排版、編曲或是各種更複雜的用途。』

1852年,埃達為了治療子宮頸癌,卻因此死於失血過多,年僅36歲。她死後一百年,於1953年,埃達之前對查爾斯·巴貝奇的《分析機概論》所留下的筆記被重新公布,並被認為對現代計算機與軟體工程造成了重大影響。

2、Pascal之父:尼克勞斯·維爾特 Niklaus Wirth

尼克勞斯·埃米爾·維爾特,生於瑞士溫特圖爾,是瑞士計算機科學家。

從1963年到1967年,他成為史丹福大學的計算機科學部助理教授,之後又在蘇黎世大學擔當相同的職位。1968年,他成為蘇黎世聯邦理工學院的信息學教授,又往施樂帕洛阿爾託研究中心進修了兩年。

他是好幾種程式語言的主設計師,包括 Algol W,Modula,Pascal,Modula-2,Oberon等。

他亦是Euler語言的發明者之一。1984年他因發展了這些語言而獲圖靈獎。他亦是Lilith電腦和Oberon系統的設計和運行隊伍的重要成員。

他的文章Program Development by Stepwise Refinement視為軟體工程中的經典之作。他寫的一本書的書名Algorithms + Data Structures = Programs(算法+數據結構=程序)是計算機科學的名句。

3、微軟創始人:比爾·蓋茨 Bill Gates

威廉·亨利·"比爾"·蓋茨三世,是一名美國著名企業家、投資者、軟體工程師、慈善家。早年,他與保羅·艾倫一起創建了微軟公司,曾任微軟董事長、CEO和首席軟體設計師,並持有公司超過8%的普通股,也是公司最大的個人股東。

4、Java之父:詹姆斯·高斯林 James Gosling

詹姆斯·高斯林,出生於加拿大,軟體專家,Java程式語言的共同創始人之一,一般公認他為「Java之父」。

在他12歲的時候,他已能設計電子遊戲機,幫忙鄰居修理收割機。大學時期在天文系擔任程式開發工讀生,1977年獲得了加拿大卡爾加裡大學計算機科學學士學位。1981年開發在Unix上運行的Emacs類編輯器Gosling Emacs(以C語言編寫,使用Mocklisp作為擴展語言)。1983年獲得了美國卡內基梅隆大學計算機科學博士學位,博士論文的題目是:"The Algebraic Manipulation of Constraints"。畢業後到IBM工作,設計IBM第一代工作站NeWS系統,但不受重視。後來轉至Sun公司。1990年,與Patrick Naughton和Mike Sheridan等人合作「綠色計劃」,後來發展一套語言叫做「Oak」,後改名為Java。1994年底,James Gosling在矽谷召開的「技術、教育和設計大會」上展示Java程式。2000年,Java成為世界上最流行的電腦語言。

5、Python之父:吉多·范羅蘇姆 Guido van Rossum

吉多·范羅蘇姆是一名荷蘭電腦程式員,他作為Python程序設計語言的作者而為人們熟知。在Python社區,吉多·范羅蘇姆被人們認為是「仁慈的獨裁者(BDFL)」,意思是他仍然關注Python的開發進程,並在必要的時刻做出決定。

2002年,在比利時布魯塞爾舉辦的自由及開源軟體開發者歐洲會議上,吉多·范羅蘇姆獲得了由自由軟體基金會頒發的2001年自由軟體進步獎。2003年五月,吉多獲得了荷蘭UNIX用戶小組獎。2006年,他被美國計算機協會(ACM)認定為著名工程師。

6、B語言、C語言和Unix創始人:肯·湯普遜 Ken Thompson

肯尼斯·藍·湯普遜,小名為肯·湯普遜,生於美國紐奧良,計算機科學學者與軟體工程師。他與丹尼斯·裡奇設計了B語言、C語言,創建了Unix和Plan 9作業系統,他也是程式語言Go的共同作者。與丹尼斯·裡奇同為1983年圖靈獎得主。

肯·湯普遜的貢獻還包括了發展正規表示法,寫作了早期的電腦文字編輯器QED與ed,定義UTF-8編碼,以及發展電腦象棋。

7、現代計算機科學先驅:高德納 Donald Knuth

唐納德·爾文·克努斯,出生於美國密爾沃基,著名計算機科學家,史丹福大學計算機系榮譽退休教授。高德納教授為現代計算機科學的先驅人物,創造了算法分析的領域,在數個理論計算機科學的分支做出基石一般的貢獻。在計算機科學及數學領域發表了多部具廣泛影響的論文和著作。1974年圖靈獎得主。

高德納最為人知的事跡是,他是《電腦程式設計藝術》(The Art of Computer Programming)的作者。此書是計算機科學界最受高度敬重的參考書籍之一。此外還是排版軟體TEX和字體設計系統Metafont的發明人。提出文學編程的概念,並創造了WEB與CWEB軟體,作為文學編程開發工具。

8、《C程序設計語言》的作者:布萊恩·柯林漢 Brian Kernighan

布萊恩·威爾森·柯林漢,生於加拿大多倫多,加拿大計算機科學家,曾服務于貝爾實驗室,為普林斯頓大學教授。他曾參與Unix的研發,也是AMPL與AWK的共同創造者之一。

與丹尼斯·裡奇共同寫作了C語言的第一本著作《C程序設計語言》之後,他的名字開始為人所熟知。他也創作了許多Unix上的程式,包括在Version 7 Unix上的 ditroff 與 cron。

9、網際網路之父:蒂姆·伯納斯-李 Tim Berners-Lee

蒂莫西·約翰·伯納斯-李爵士,暱稱為蒂姆·伯納斯-李(Tim Berners-Lee),英國計算機科學家。他是全球資訊網的發明者,麻省理工學院教授。1990年12月25日,羅伯特·卡裡奧在CERN和他一起成功通過Internet實現了HTTP代理與伺服器的第一次通訊。

伯納斯-李為關注全球資訊網發展而創辦的組織,全球資訊網聯盟的主席。他也是全球資訊網基金會的創辦人。伯納斯-李還是麻省理工學院計算機科學及人工智慧實驗室創辦主席及高級研究員。同時,伯納斯-李是網頁科學研究倡議會的總監。最後,他是麻省理工學院集體智能中心諮詢委員會成員。

2004年,英女皇伊莉莎白二世向伯納斯-李頒發大英帝國爵級司令勳章。2009年4月,他獲選為美國國家科學院外籍院士。在2012年夏季奧林匹克運動會開幕典禮上,他獲得了「全球資訊網發明者」的美譽。伯納斯-李本人也參與了開幕典禮,在一臺NeXT計算機前工作。他在Twitter上發表消息說:「這是給所有人的」,體育館內的LCD光管隨即顯示出文字來。

10、C++之父:比雅尼·史特勞斯特魯普 Bjarne Stroustrup

比雅尼·史特勞斯特魯普,生於丹麥奧胡斯郡,計算機科學家,德州農工大學工程學院的計算機科學首席教授。他以創造C++程式語言而聞名,被稱為「C++之父」。

用史特勞斯特魯普他本人的話來說,自己「發明了C++,寫下了它的早期定義並做出了首個實現……選擇制定了C++的設計標準,設計了C++主要的輔助支持環境,而且負責處理C++標準委員會的擴展提案。」他還寫了一本《C++程序設計語言》,它被許多人認為是C++的範本經典,目前是第四版(於2013年5月19日出版),最新版中囊括了C++11所引進的一些新特性。

11、Linux之父:林納斯·託瓦茲 Linus Torvalds

林納斯·本納第克特·託瓦茲,生於芬蘭赫爾辛基市,擁有美國國籍。他是Linux內核的最早作者,隨後發起了這個開源項目,擔任Linux內核的首要架構師與項目協調者,是當今世界最著名的電腦程式員、黑客之一。他還發起了Git這個開源項目,並為主要的開發者。

林納斯在網上郵件列表中也以火暴的脾氣著稱。例如,有一次與人爭論Git為何不使用C++開發時與對方用「放屁」(原文為「bullshit」)互罵。他更曾以「一群自慰的猴子」(原文為「OpenBSD crowd is a bunch of masturbating monkeys」)來稱呼OpenBSD團隊。

2012年6月14日,託瓦茲在出席芬蘭的阿爾託大學所主辦的一次活動時稱Nvidia是他所接觸過的「最爛的公司」( the worst company)和 「最麻煩的公司」(the worst trouble spot),因為Nvidia一直沒有針對Linux平臺發布任何官方的Optimus支持,隨後託瓦茲當眾對著鏡頭豎起了中指,說「 Nvidia,操你的! 」(So, Nvidia, fuck you!)。

12、C語言和Unix之父:丹尼斯·裡奇 Dennis Ritchie

丹尼斯·麥卡利斯泰爾·裡奇,生於美國紐約州布朗克斯維爾(Bronxville),著名的美國計算機科學家,對C語言和其他程式語言、Multics和Unix等作業系統的發展做出了巨大貢獻。在技術討論中,他常被稱為dmr,這是他在貝爾實驗室的用戶名稱(username)。

丹尼斯·裡奇與肯·湯普遜兩人開發了C語言,並隨後以之開發出了Unix作業系統,而C語言和Unix在電腦工業史上都佔有重要的地位:C語言至今在開發軟體和作業系統時依然是非常常用,且它對許多現代的程式語言(如C++、C#、Objective-C、Java和JavaScript)也有著重大影響;而在作業系統方面Unix也影響深遠,今天市場上有許多作業系統是基於Unix衍生而來(如AIX與System V等),同時也有不少系統(通稱類Unix系統)借鑑了Unix的設計思想(如Solaris、Mac OS X、BSD、Minix與Linux等),甚至以Microsoft Windows作業系統與Unix相競爭的微軟也為他們的用戶和開發者提供了與Unix相容的工具和C語言編譯器。

相關焦點

  • 缺乏想像力的程式設計師 - OSCHINA - 中文開源技術交流社區
    我的反駁——當時並沒有說出來——是,「那你一定不能成為一個優秀的程式設計師,不是嗎?」這篇文章並不是討論範型問題的(範型是個好東西,也許某一天Go語言裡也會有,也許不會),而是關於想像力的,或者,至少是關於被程式設計師們誤認 為是想像力的:抱怨。一個朋友發現,現代一種流行的娛樂方式就是去上網抱怨。對於抱怨者,這很有趣,對於抱怨的接收者,是使其沮喪消沉。
  • SP++3.0 發布,歡迎大家使用 - OSCHINA - 中文開源技術交流社區
    消息來自 Jerry 的博客: SP++ (Signal Processing in C++) 是一個關於信號處理與數值計算的開源C++程序庫,該庫提供了信號處理與數值計算中常用算法的
  • 程式設計師之間的十八層鄙視網絡 - OSCHINA - 中文開源技術交流社區
    程式設計師,是一個知識、智商、都異於常規行業的群體。自傲,清高,悶騷,也屬於這個群體鮮明標籤。程式設計師有時候很自我,這樣就給自己一個盲目的優越感。特別在與其他程式設計師對比的時候,他總能找到在一兩個地方優於你的地方,所以,程式設計師之間的鄙視網絡,在程式設計師這個職位誕生之日起,就慢慢的形成了。時至今日,這張鄙視網絡已經相當的龐大。
  • 一名40 歲「老」程式設計師的反思 - OSCHINA - 中文開源技術交流社區
    <本文是國外一位 40 歲「老」程式設計師對職業生涯的思考,他認為從長遠來看,應該多投資一些不容易過期、衰竭期較長的知識領域中。譯文大意如下。
  • 盤點微軟最應該開源的 15 款產品 - OSCHINA - 中文開源技術交流社區
    如果微軟不想在為Media Player帶來更多的新功能,它可以將其交給開源社區打理。飛行模擬器在25年的時間裡,微軟飛行模擬器讓我們坐在椅子上就能操縱世界上最熱門的飛機和直升機,但這款軟體在2006年就停止了更新,微軟更是在2009年關閉了它的開發工作室ACES。
  • 影響計算機算法世界的十位大師 - OSCHINA - 中文開源技術交流社區
    原文出處: 《程式設計師》- 範凱 & 馬林,原文寫於 2006 年   影響計算機算法世界的十位大師,原文寫於 2006 年。
  • FineUI(開源版)v4.2.0 發布了! - OSCHINA - 中文開源技術交流社區
    原始碼已經託管到OSC:http://git.oschina.net/sanshi
  • 15 款免費IDE,推薦給開發者 - OSCHINA - 中文開源技術交流社區
    開源中國社區收錄了大量的開源、免費的IDE,精選15個免費IDE,推薦給大家。列表如下:
  • 每個程式設計師都該閱讀的書 - OSCHINA - 中文開源技術交流社區
    國外知名網站stackoverflow上有一個問題調查: 哪本書是對程式設計師最有 影響、每個程式設計師都該閱讀的書? 這個調查已歷時兩年,目前為止吸引 了153,432人訪問,讀者共推薦出了478本書(還在增加),其中最火的一本 書《Code Complete》被頂了1306次。
  • SonarQube Java 3.2 發布 - OSCHINA - 中文開源技術交流社區
    Sonar (SonarQube)是一個開源平臺,用於管理原始碼的質量。Sonar 不只是一個質量數據報告工具,更是代碼質量管理平臺。支持的語言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。
  • 程式設計師的鄙視鏈 - OSCHINA - 中文開源技術交流社區
    在軟體工程師(中國叫做「程式設計師」或「碼農」)的圈子裡,文人相輕的現象可是非常嚴重的,在程序設計的各個領域裡都有著錯綜複雜的「鄙視鏈」。從程 序語言、編輯器、平臺到 { 是寫在 if 的同一行還是下一行,不同陣營的人都習慣鄙視來鄙視去。而其中「你用什麼程序語言?」
  • Linux 基金會宣布新項目 KOSP - OSCHINA - 中文開源技術交流社區
    Linux 基金會宣布了一個新的項目 Kinetic Open Storage Project(KOSP),以推進雲對象存儲技術的開源軟體和標準。
  • gRPC首頁、文檔和下載 - RPC 框架 - OSCHINA - 中文開源技術交流...
    gRPC 是一個高性能、開源和通用的開源中國組織翻譯的《gRPC 官方文檔中文版》:http://doc.oschina.net/grpcgRPC 基於 HTTP/2 標準設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多復用請求等特。這些特性使得其在行動裝置上表現更好,更省電和節省空間佔用。
  • Go 語言的演化歷程 - OSCHINA - 中文開源技術交流社區
    \n")}Rob大神的見面禮,後續會有針對這段的演化歷史的陳述。2、歷史這是一個歷史性的時刻。Golang已經獲得了一定的成功,值得擁有屬於自己的技術大會。第一個是你見過的第一個Go程序,是屬於你的歷史時刻。第二個是我們見過的第一個Go程序,是屬於全世界所有Gophers的歷史時刻。先看第一個「hello, world」5、hello.bmain( ) {    extrn a, b, c;    putchar(a); putchar(b); putchar(c); putchar('!
  • 我是如何從煤礦工成為程式設計師的 - OSCHINA - 中文開源技術交流社區
    一年後我在家裡連上了網際網路。當然了,電話撥號的。從那開始,大部分我的錢都花在了網費和電話費上了(當時在我國這種費用特別的高)。很多時候我不 得不戒掉吃肉,一天只吃一頓(大多數是吃土豆,因為這是我能找到的最便宜的食物),這樣我才能省下足夠的錢來彌補這個開銷。我還沒告訴你,我還有退休的老 母親和幾個弟弟妹妹需要照顧(我是老大)。
  • Hutool 4.4.3 發布,尿布上的新版本 - OSCHINA - 中文開源技術交流...
    Hutool 最初是我項目中util包的一個整理,後來慢慢積累並加入更多非業務相關功能,並廣泛學習其它開源項目精髓,經過自己整理修改,最終形成豐富的開源工具集。年末對自己來說最大的事情可能就是&ldquo;小王子&rdquo;的降生,Hutool的更新也稍稍慢了幾天,好在利用洗尿布的間隙處理完了累積下的issue,發布了這個版本。
  • 程式設計師在十年後還會有今天的收入嗎? - OSCHINA - 中文開源技術...
    幾年前Android/IOS裡出現大量的大專生,被培訓機構培訓個半年就可以拿到市場上賣萬八千甚至一萬五的行業「盛況」,相信很多人還記憶猶新,這就是因為移動網際網路井噴式的發展甚至可以說是泡沫而產生的某種怪像啊,而這群人現在已經被歷史淘汰了。而知乎上的眾位高端程式設計師當然不屑於與他們為伍,同時你們也會表現出一種「只要我夠牛逼,不斷提升自己,就沒關係啊」之類的自信。
  • 優秀開發者必備的四種品質 - OSCHINA - 中文開源技術交流社區
    從業務的角度理解軟體開發在我的概念中,一名優秀的開發者不僅是面向技術的。你同時需要面向業務,理解客戶的需求。如果你做不到這一點的話,有很多潛在的問題:誤解業務需求,軟體可用性差等等。那麼如何做一個面向業務的開發者呢? 從業務的角度理解軟體 尊重客戶的需求 能將業務問題轉化成技術問題 能和非技術領域的人溝通 4.
  • TypeScript 4.0 發布 - OSCHINA - 中文開源技術交流社區
    社區已經在這裡了,而且還在增長,有工作代碼和偉大的新資源可以學習。有一點要記住:儘管我們在 4.0 中帶來了所有的好東西,但你真的只需要知道 TypeScript 的基礎知識就可以了。複合賦值運算符將一個運算符應用到兩個參數上,然後將結果賦值到左邊。
  • 程式設計師周末都喜歡做什麼? - OSCHINA - 中文開源技術交流社區
    Oracle、MySQL 和 SQL Server 穩居前三,但三者相較上個月的指數都有所下滑;而排在第 4 位的 PostgreS...