程序人生:這5個程序員,改變了世界,你都認識嗎!

致敬那些爲軟件開發奠定堅實基礎的計算機科學先驅。

從 1 和 0 開始,編程經歷了很長一段路,才達到了現在的抽象狀態。過去的程序員用偉大的發明,爲現代程序員輕鬆地完成工作奠定了堅實的基礎。如果我們研究某個軟件,也許,它是在若干個庫的幫助下編寫的,而這些庫又有另一套多年前創建的依賴關係。

當我們再往前追溯,最終會發現,在計算機軟件進化史上,有一位傑出的程序員做出了一項偉大的發明。

例如,Anaconda 數據科學環境是用 Python 編寫的。而 Python 是用 C 編程語言編寫的,C 編程語言是一個龐大的項目,推動了數以百萬計的項目。類似的,Android 系統所使用的 Linux 內核也是一個由傑出程序員完成的一個大型項目。

下面這些程序員是計算機科學的先驅,他們通過完成一些令人難忘的項目,爲軟件開發奠定了堅實的基礎。

Linus Torvalds

Linux 內核賦予了很多操作系統:主要是 Linux 發行版和其他基於 Linux 內核的操作系統,如 Android。另外,互聯網上的大多數網絡服務器運行的操作系統都是 Linux。

Linus 最初是在大學期間實現了 Linux 內核,因爲他想爲當時個人電腦非常昂貴的 Unix 創造一個免費的替代方案。此外,他那時使用的 Minix 操作系統通常是爲了學術目的而實現的,它在授權模式和硬件支持方面存在一些缺陷。Linux 內核最早是在 Minix 內使用 GNU C 編譯器進行編程的。

此外,他還創建了 Git 源代碼管理工具,專門用於管理 Linux 內核的開發工作流程。Git 是由於他們之前用於源代碼管理的 BitKeeper 工具出現了問題。這兩個項目都是作爲他的個人項目開始的。但現在,數以百萬計的人在大量使用它們。在所有爲開源做貢獻的程序員中,我喜歡 Linus 的性格。

Richard Stallman

Linux 項目本身只是一個內核。當 Linus 在研究 Linux 項目的時候,與此同時,Richard 也在試圖和社區合作,創建一個自由和開源的 Unix 克隆,並取了一個好聽的項目名字 GNU(GNU's Not Unix 的遞歸縮寫)。他創建並整合了操作系統所需的所有自由軟件,除了內核這一塊之外,所有計算機用戶都可以自由使用。

最終,Linux 內核填補了 GNU 項目的最後一塊缺失,而他的概念性操作系統的名字也因給數百萬用戶以自由而變成現實世界的 GNU/Linux。他還開發了 GNU 項目的幾個模塊,如 GNU 編譯器集合和 GNU Emacs 文本編輯器。

除了 GNU 項目外,他還創立了 FSF(Free Software Foundation,自由軟件基金會),該基金會鼓勵每個人都能使用自由軟件,而不會被專利軟件公司所控制。此外,由 Richard 發起的自由軟件運動也讓人們對現代專利軟件和操作系統下的用戶隱私和用戶權利有了更深刻的思考。在他的公開演講中,他總是這樣提到自由軟件:

“對於軟件來說,只有兩種可能:要麼用戶控制程序,要麼程序控制用戶。如果程序控制了用戶,開發者控制了程序,那麼程序就是一種不公正的權力工具。”
Dennis Ritchie

幾乎所有的計算機技術都以 C 語言爲基礎。C++ 語言就像是添加到 C 語言的一個擴展,它支持現代通用語言的特性,比如基於類的面向對象程序設計概念。

C 語言編程語言被廣泛用於創建操作系統和嵌入式系統。Dennis 創造了 C 編程語言,取代了他的同事 Ken Thompson 創造的 B 編程語言。他的老同事 Brian Kernighan 曾經說過:

“Dennis 製造的工具,還有它們的直接後代,幾乎運行着今天的一切。”

除此之外,他還和 Ken Thompson 一起在貝爾實驗室(Bell Labs)爲 Unix 操作系統的開發做出了貢獻,併爲 C 編程語言撰寫了著名的手冊《C 編程語言》(The C Programming Language)。

James Gosling

Java installer 所說的是真的;有超過 30 億臺設備運行 Java。Java 編程語言爲 Web 服務器、移動電話、電視等各種組件提供了強大的功能,Java 在較短的時間內就吸引了人們的注意,因爲用 Java 編寫 / 編譯的程序可以在任何機器上執行。

畢竟,程序中包含的原子指令將在名爲 Java 虛擬機(JVM)的虛擬硬件設備中執行。由於 Java 具有虛擬機和完整的訪問控制集,因此,它是一種安全的編程語言。Gosling 用 C/C++ 風格的語法創建了 Java。

它可以用於非常複雜的項目,這要歸功於 Java 的、有吸引力的跨平臺支持和純面向對象的行爲。另外,他還在 Sun Microsystems 開發了諸如 neWS 窗口系統等多個項目。

Ken Thompson

Unix 就像是世界上所有流行的操作系統的鼻祖。即便是 Minix 和 Linux 等獨立項目,他們也會受到 Unix 的影響。Ken 與 Denis Ritchie 一起在貝爾實驗室設計並實現了 Unix 的原始版本。Ken 創建了 B 編程語言,併爲 Denis 創建 C 編程語言提供了途徑。

此外,他對計算機世界的傑出貢獻還包括他在正則表達式和 UTF-8 編碼方面的研究。正則表達式的概念已經存在。而他寫了自己版本的 QED 文本編輯器,用計算機編程的正則表達式來查找文本。從那以後,正則表達式隨着計算機技術開始了它的旅程。

事實上,創造一種具有平衡抽象的編程語言無疑是很困難的。換句話說,要創造一種既接近硬件又接近程序員的編程語言是很難的。但是,他與 Google 共同發明了 Go 編程語言,並且獲得了成功。

作者介紹:
Shalitha Suranga,軟件工程師,供職於 99X。同時也是 Apache PMC 成員、開源貢獻者(Neutralinojs 的作者)、技術作者。



   
   
   
本文轉載自:https://medium.com/the-innovation/the-5-most-influential-programmers-in-computer-science-3fa590edc729

作者 | Shalitha Suranga
策劃 | 劉燕
譯者 | 劉志勇
來源 | InfoQ


IT技術分享社區


個人博客網站:https://programmerblog.xyz


文章推薦 程序員效率:畫流程圖常用的工具 程序員效率:整理常用的在線筆記軟件 遠程辦公:常用的遠程協助軟件,你都知道嗎? 51單片機程序下載、ISP及串口基礎知識 硬件:斷路器、接觸器、繼電器基礎知識





本文分享自微信公衆號 - IT技術分享社區(gh_a27c0758eb03)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章