致敬那些為軟體開發奠定堅實基礎的計算機科學先驅,
從 1 和 0 開始,編程經歷了很長一段路,才達到了現在的抽象狀態,過去的程式員用偉大的發明,為現代程式員輕松地完成作業奠定了堅實的基礎,如果我們研究某個軟體,也許,它是在若干個庫的幫助下撰寫的,而這些庫又有另一套多年前創建的依賴關系,
當我們再往前追溯,最侄訓發現,在計算機軟體進化史上,有一位杰出的程式員做出了一項偉大的發明,
例如,Anaconda 資料科學環境是用 Python 撰寫的,而 Python 是用 C 編程語言撰寫的,C 編程語言是一個龐大的專案,推動了數以百萬計的專案,類似的,Android 系統所使用的 Linux 內核也是一個由杰出程式員完成的一個大型專案,
下面這些程式員是計算機科學的先驅,他們通過完成一些令人難忘的專案,為軟體開發奠定了堅實的基礎,
1、Linus Torvalds

Linux 內核賦予了很多作業系統:主要是 Linux 發行版和其他基于 Linux 內核的作業系統,如 Android,另外,互聯網上的大多數網路服務器運行的作業系統都是 Linux,
Linus 最初是在大學期間實作了 Linux 內核,因為他想為當時個人電腦非常昂貴的 Unix 創造一個免費的替代方案,此外,他那時使用的 Minix 作業系統通常是為了學術目的而實作的,它在授權模式和硬體支持方面存在一些缺陷,Linux 內核最早是在 Minix 內使用 GNU C 編譯器進行編程的,
此外,他還創建了 Git 源代碼管理工具,專門用于管理 Linux 內核的開發作業流程,Git 是由于他們之前用于源代碼管理的 BitKeeper 工具出現了問題,這兩個專案都是作為他的個人專案開始的,但現在,數以百萬計的人在大量使用它們,在所有為開源做貢獻的程式員中,我喜歡 Linus 的性格,
2、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 發起的自由軟體運動也讓人們對現代專利軟體和作業系統下的用戶隱私和用戶權利有了更深刻的思考,在他的公開演講中,他總是這樣提到自由軟體:
“對于軟體來說,只有兩種可能:要么用戶控制程式,要么程式控制用戶,如果程式控制了用戶,開發者控制了程式,那么程式就是一種不公正的權力工具,”
3、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),
4、James Gosling

Java installer 所說的是真的;有超過 30 億臺設備運行 Java,Java 編程語言為 Web 服務器、移動電話、電視等各種組件提供了強大的功能,Java 在較短的時間內就吸引了人們的注意,因為用 Java 撰寫 / 編譯的程式可以在任何機器上執行,
畢竟,程式中包含的原子指令將在名為 Java 虛擬機(JVM)的虛擬硬體設備中執行,由于 Java 具有虛擬機和完整的訪問控制集,因此,它是一種安全的編程語言,Gosling 用 C/C++ 風格的語法創建了 Java,
它可以用于非常復雜的專案,這要歸功于 Java 的、有吸引力的跨平臺支持和純面向物件的行為,另外,他還在 Sun Microsystems 開發了諸如 neWS 視窗系統等多個專案,
5、Ken Thompson

Unix 就像是世界上所有流行的作業系統的鼻祖,即便是 Minix 和 Linux 等獨立專案,他們也會受到 Unix 的影響,Ken 與 Denis Ritchie 一起在貝爾實驗室設計并實作了 Unix 的原始版本,Ken 創建了 B 編程語言,并為 Denis 創建 C 編程語言提供了途徑,
此外,他對計算機世界的杰出貢獻還包括他在正則運算式和 UTF-8 編碼方面的研究,正則運算式的概念已經存在,而他寫了自己版本的 QED 文本編輯器,用計算機編程的正則運算式來查找文本,從那以后,正則運算式隨著計算機技術開始了它的旅程,
事實上,創造一種具有平衡抽象的編程語言無疑是很困難的,換句話說,要創造一種既接近硬體又接近程式員的編程語言是很難的,但是,他與 Google 共同發明了 Go 編程語言,并且獲得了成功,
作者:Shalitha Suranga
原文鏈接:https://medium.com/the-innovation/the-5-most-influential-programmers-in-computer-science-3fa590edc729
譯文:InfoQ 架構頭條
譯者:劉志勇 策劃:劉燕
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2021最新版)
2.別在再滿屏的 if/ else 了,試試策略模式,真香!!
3.臥槽!Java 中的 xx ≠ null 是什么新語法?
4.Spring Boot 2.5 重磅發布,黑暗模式太炸了!
5.《Java開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/335079.html
標籤:其他
上一篇:java定時任務調度框架
