這5個(gè)程序員,改變了世界!
從 1 和 0 開(kāi)始,編程經(jīng)歷了很長(zhǎng)一段路,才達(dá)到了現(xiàn)在的抽象狀態(tài)。過(guò)去的程序員用偉大的發(fā)明,為現(xiàn)代程序員輕松地完成工作奠定了堅(jiān)實(shí)的基礎(chǔ)。如果我們研究某個(gè)軟件,也許,它是在若干個(gè)庫(kù)的幫助下編寫(xiě)的,而這些庫(kù)又有另一套多年前創(chuàng)建的依賴(lài)關(guān)系。
當(dāng)我們?cè)偻白匪?,最終會(huì)發(fā)現(xiàn),在計(jì)算機(jī)軟件進(jìn)化史上,有一位杰出的程序員做出了一項(xiàng)偉大的發(fā)明。
例如,Anaconda 數(shù)據(jù)科學(xué)環(huán)境是用 Python 編寫(xiě)的。而 Python 是用 C 編程語(yǔ)言編寫(xiě)的,C 編程語(yǔ)言是一個(gè)龐大的項(xiàng)目,推動(dòng)了數(shù)以百萬(wàn)計(jì)的項(xiàng)目。類(lèi)似的,Android 系統(tǒng)所使用的 Linux 內(nèi)核也是一個(gè)由杰出程序員完成的一個(gè)大型項(xiàng)目。
下面這些程序員是計(jì)算機(jī)科學(xué)的先驅(qū),他們通過(guò)完成一些令人難忘的項(xiàng)目,為軟件開(kāi)發(fā)奠定了堅(jiān)實(shí)的基礎(chǔ)。

Linux 內(nèi)核賦予了很多操作系統(tǒng):主要是 Linux 發(fā)行版和其他基于 Linux 內(nèi)核的操作系統(tǒng),如 Android。另外,互聯(lián)網(wǎng)上的大多數(shù)網(wǎng)絡(luò)服務(wù)器運(yùn)行的操作系統(tǒng)都是 Linux。
Linus 最初是在大學(xué)期間實(shí)現(xiàn)了 Linux 內(nèi)核,因?yàn)樗霝楫?dāng)時(shí)個(gè)人電腦非常昂貴的 Unix 創(chuàng)造一個(gè)免費(fèi)的替代方案。此外,他那時(shí)使用的 Minix 操作系統(tǒng)通常是為了學(xué)術(shù)目的而實(shí)現(xiàn)的,它在授權(quán)模式和硬件支持方面存在一些缺陷。Linux 內(nèi)核最早是在 Minix 內(nèi)使用 GNU C 編譯器進(jìn)行編程的。
此外,他還創(chuàng)建了 Git 源代碼管理工具,專(zhuān)門(mén)用于管理 Linux 內(nèi)核的開(kāi)發(fā)工作流程。Git 是由于他們之前用于源代碼管理的 BitKeeper 工具出現(xiàn)了問(wèn)題。這兩個(gè)項(xiàng)目都是作為他的個(gè)人項(xiàng)目開(kāi)始的。但現(xiàn)在,數(shù)以百萬(wàn)計(jì)的人在大量使用它們。在所有為開(kāi)源做貢獻(xiàn)的程序員中,我喜歡 Linus 的性格。

Linux 項(xiàng)目本身只是一個(gè)內(nèi)核。當(dāng) Linus 在研究 Linux 項(xiàng)目的時(shí)候,與此同時(shí),Richard 也在試圖和社區(qū)合作,創(chuàng)建一個(gè)自由和開(kāi)源的 Unix 克隆,并取了一個(gè)好聽(tīng)的項(xiàng)目名字 GNU(GNU's Not Unix 的遞歸縮寫(xiě))。他創(chuàng)建并整合了操作系統(tǒng)所需的所有自由軟件,除了內(nèi)核這一塊之外,所有計(jì)算機(jī)用戶(hù)都可以自由使用。
最終,Linux 內(nèi)核填補(bǔ)了 GNU 項(xiàng)目的最后一塊缺失,而他的概念性操作系統(tǒng)的名字也因給數(shù)百萬(wàn)用戶(hù)以自由而變成現(xiàn)實(shí)世界的 GNU/Linux。他還開(kāi)發(fā)了 GNU 項(xiàng)目的幾個(gè)模塊,如 GNU 編譯器集合和 GNU Emacs 文本編輯器。
除了 GNU 項(xiàng)目外,他還創(chuàng)立了 FSF(Free Software Foundation,自由軟件基金會(huì)),該基金會(huì)鼓勵(lì)每個(gè)人都能使用自由軟件,而不會(huì)被專(zhuān)利軟件公司所控制。此外,由 Richard 發(fā)起的自由軟件運(yùn)動(dòng)也讓人們對(duì)現(xiàn)代專(zhuān)利軟件和操作系統(tǒng)下的用戶(hù)隱私和用戶(hù)權(quán)利有了更深刻的思考。在他的公開(kāi)演講中,他總是這樣提到自由軟件:

幾乎所有的計(jì)算機(jī)技術(shù)都以 C 語(yǔ)言為基礎(chǔ)。C++ 語(yǔ)言就像是添加到 C 語(yǔ)言的一個(gè)擴(kuò)展,它支持現(xiàn)代通用語(yǔ)言的特性,比如基于類(lèi)的面向?qū)ο蟪绦蛟O(shè)計(jì)概念。
C 語(yǔ)言編程語(yǔ)言被廣泛用于創(chuàng)建操作系統(tǒng)和嵌入式系統(tǒng)。Dennis 創(chuàng)造了 C 編程語(yǔ)言,取代了他的同事 Ken Thompson 創(chuàng)造的 B 編程語(yǔ)言。他的老同事 Brian Kernighan 曾經(jīng)說(shuō)過(guò):
除此之外,他還和 Ken Thompson 一起在貝爾實(shí)驗(yàn)室(Bell Labs)為 Unix 操作系統(tǒng)的開(kāi)發(fā)做出了貢獻(xiàn),并為 C 編程語(yǔ)言撰寫(xiě)了著名的手冊(cè)《C 編程語(yǔ)言》(The C Programming Language)。

Java installer 所說(shuō)的是真的;有超過(guò) 30 億臺(tái)設(shè)備運(yùn)行 Java。Java 編程語(yǔ)言為 Web 服務(wù)器、移動(dòng)電話(huà)、電視等各種組件提供了強(qiáng)大的功能,Java 在較短的時(shí)間內(nèi)就吸引了人們的注意,因?yàn)橛?Java 編寫(xiě) / 編譯的程序可以在任何機(jī)器上執(zhí)行。
畢竟,程序中包含的原子指令將在名為 Java 虛擬機(jī)(JVM)的虛擬硬件設(shè)備中執(zhí)行。由于 Java 具有虛擬機(jī)和完整的訪(fǎng)問(wèn)控制集,因此,它是一種安全的編程語(yǔ)言。Gosling 用 C/C++ 風(fēng)格的語(yǔ)法創(chuàng)建了 Java。
它可以用于非常復(fù)雜的項(xiàng)目,這要?dú)w功于 Java 的、有吸引力的跨平臺(tái)支持和純面向?qū)ο蟮男袨?。另外,他還在 Sun Microsystems 開(kāi)發(fā)了諸如 neWS 窗口系統(tǒng)等多個(gè)項(xiàng)目。

Unix 就像是世界上所有流行的操作系統(tǒng)的鼻祖。即便是 Minix 和 Linux 等獨(dú)立項(xiàng)目,他們也會(huì)受到 Unix 的影響。Ken 與 Denis Ritchie 一起在貝爾實(shí)驗(yàn)室設(shè)計(jì)并實(shí)現(xiàn)了 Unix 的原始版本。Ken 創(chuàng)建了 B 編程語(yǔ)言,并為 Denis 創(chuàng)建 C 編程語(yǔ)言提供了途徑。
此外,他對(duì)計(jì)算機(jī)世界的杰出貢獻(xiàn)還包括他在正則表達(dá)式和 UTF-8 編碼方面的研究。正則表達(dá)式的概念已經(jīng)存在。而他寫(xiě)了自己版本的 QED 文本編輯器,用計(jì)算機(jī)編程的正則表達(dá)式來(lái)查找文本。從那以后,正則表達(dá)式隨著計(jì)算機(jī)技術(shù)開(kāi)始了它的旅程。
事實(shí)上,創(chuàng)造一種具有平衡抽象的編程語(yǔ)言無(wú)疑是很困難的。換句話(huà)說(shuō),要?jiǎng)?chuàng)造一種既接近硬件又接近程序員的編程語(yǔ)言是很難的。但是,他與 Google 共同發(fā)明了 Go 編程語(yǔ)言,并且獲得了成功。
來(lái)源:https://medium.com/the-innovation/the-5-most-influential-programmers-in-computer-science-3fa590edc729
版權(quán)申明:內(nèi)容來(lái)源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無(wú)法確認(rèn),我們都會(huì)標(biāo)明作者及出處,如有侵權(quán)煩請(qǐng)告知,我們會(huì)立即刪除并表示歉意。謝謝!

