您好,登錄后才能下訂單哦!
過去的幾十年間,大量的編程語言被發明、被替換、被修改或組合在一起。每種語言總在爭論中誕生,又在進化中消亡。而這些語言的的創造者,無一不是編程世界中的標志性人物,高舉探索的旗幟不斷前行。敬仰之情促使了這篇文章的誕生,這里收集并分享了這五十年來最成功、最流行的十二門編程語言和它們的創造者的故事 代碼下載地址 。
1990 年代初,任職于 Sun 公司的詹姆斯·高斯林等人開始開發 Java 語言的雛形,最初被命名為 Oak,目標設置在家用電器等小型系統的程序語言,應用在電視機、電話、鬧鐘、烤面包機等家用電器的控制和通訊。由于這些智能化家電的市場需求沒有預期的高, Sun 公司放棄了該項計劃。隨著 1990 年代互聯網的發展, Sun 公司看見 Oak 在互聯網上應用的前景,于是改造了 Oak,于1995年5月以 Java 的名稱正式發布。Java 伴隨著互聯網的迅猛發展而發展,逐漸成為重要的網絡編程語言。
與傳統型態不同, Sun 公司在推出 Java 時就將其作為開放的技術。全球數以萬計的 Java 開發公司被要求所設計的Java軟件必須相互兼容。“Java語言靠群體的力量而非公司的力量”是 Sun 公司的口號之一,并獲得了廣大軟件開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同,此外,微軟公司后來推出了與之競爭的.NET 平臺以及模仿 Java 的 C# 語言。后來 Sun 公司被甲骨文公司并購,Java 也隨之成為甲骨文公司的產品。
Java 的創造是為了完成 WORA(Write once, run anywhere 一次編寫到處運行)的理念,它的平臺獨立性使它在企業應用中獲得了巨大成功。到目前為止,它已經成為了最流行的一門應用程序編程語言,被廣泛應用于企業級Web應用開發和移動應用開發下載地址 。
這個構思起源于 Stroustrup 做博士論文時的一些程序撰寫經驗。他發現 Simula 具備很利于大型軟件開發的特點,但 Simula 的運行速度太慢,無法對現實需求發揮功效;BCPL 雖快得多,但它過于低級的特性,使其不適于大型軟件的開發。當 Stroustrup 開始在貝爾實驗室工作時,他有分析 UNIX 核心關于分布式計算的問題。回想起他的博士論文經驗,Stroustrup 開始為 C 語言增強一些類似 Simula 的特點。之所以選擇 C,是因為它適于各種用途、快速和可移植性。除了 C 和 Simula 之外,同時也從其它語言中獲取靈感,如 ALGOL 68、Ada、CLU 以及 ML。剛開始時,類、派生類、存儲類型檢查、內聯和默認參數特性,都是通過 Cfront 引入 C 語言之中。1985 年 10 月出現了第一個商業化發布。
1983 年,C with Classes 改命名為 C++。加入了新的特性,其中包括虛函數、函數名和運算符重載、參考、常數、用戶可控制的自由空間存儲區控制、改良的類型檢查,以及新的雙斜線(//)單行注解風格。1985年,發布第一版《C++程序設計語言》,提供一個重點的語言參考,至此還不是官方標準。1989年,發布了Release 2.0。引入了多重繼承、抽象類、靜態成員函數、常數成員函數,以及成員保護。1990年,出版了The Annotated C++ Reference Manual。這本書后來成為標準化的基礎。稍后還引入了模板、異常處理、名字空間、新的強制類型轉換,以及布爾類型。
C++ 這個名字是 Rick Mascitti 于 1983 年中所建議的,并于 1983 年 12 月首次使用。更早以前,尚在研究階段的發展中語言曾被稱為“new C”,之后是“C with Classes”。在計算機科學中,C++ 仍被稱為 C 語言的上層結構。它最后得名于 C 語言中的“++”操作符(其對變量的值進行遞增)。而且在共同的命名約定中,使用“+”以表示增強的程序。Stroustrup 說:“這個名字象征著源自于C語言變化的自然演進”。C+ 是一個和 C/C++ 無關的早期編程語言。
1997 年時,微軟開始針對 ASP 的缺點(尤其是意大利面型的程序開發方法)準備開始一個新項目來開發,當時 ASP.NET 的主要領導人 Scott Guthrie 剛從杜克大學畢業,他和 IIS 團隊的 Mark Anders 經理一起合作兩個月,開發出了下一代 ASP 技術的原型,這個原型在 1997 年的圣誕節時被發展出來,并給予一個名稱:XSP,這個原型產品使用的是 Java 語言。不過它馬上就被納入當時還在開發中的 CLR 平臺,Scott Guthrie事后也認為將這個技術移植到當時的 CLR 平臺,確實有很大的風險,但當時的 XSP 團隊卻是以 CLR 開發應用的第一個團隊。
為了將 XSP 移植到 CLR 中,XSP 團隊將 XSP 的核心程序全部以 C# 語言重新撰寫(在內部的項目代號是 "Project Cool",但是當時對公開場合是保密的),并且改名為 ASP+,作為 ASP 技術的后繼者,并且也會提供一個簡單的移轉方法給 ASP 開發人員。ASP+ Beta 版本以及應用在 PDC 2000 中亮相,由 Bill Gates 主講,由富士通公司展示使用 COBOL 語言撰寫 ASP+ 應用程序,并且宣布它可以使用 Visual Basic .NET、C#、Perl、Nemerle 與 Python 語言來開發。
在 2000 年第二季時,微軟正式推動 .NET 策略,ASP+ 也順理成章的改名為 ASP.NET,經過四年的開發,第一個版本的 ASP.NET 在 2002 年 1 月 5 日亮相(和.NET Framework 1.0),Scott Guthrie 也成為ASP.NET的產品經理(到現在已經開發了數個微軟產品,像 ASP.NET AJAX 和 Microsoft Silverlight)。
PHP 原本的簡稱為 Personal Home Page,是拉斯姆斯·勒多夫為了要維護個人網頁,而用 C 語言開發的一些CGI 工具程序集,來替換原先使用的 Perl 程序。最初這些工具程序用來顯示拉斯姆斯·勒多夫的個人履歷,以及統計網頁流量。他將這些程序和一些窗體解釋器集成起來,稱為 PHP/FI。PHP/FI 可以和數據庫連接,產生簡單的動態網頁程序。拉斯姆斯·勒多夫在 1995 年 6 月 8 日將 PHP/FI 公開發布,希望可以通過社區來加速程序開發與查找錯誤。這個發布的版本命名為 PHP 2,已經有今日 PHP 的一些雛型,像是類似 Perl 的變量命名方式、窗體處理功能、以及嵌入到 HTML 中運行的能力。程序語法上也類似 Perl,有較多的限制,不過更簡單、更有彈性。
在 1997 年,任職于 Technion IIT 公司的兩個以色列程序員:Zeev Suraski 和 Andi Gutmans,重寫了PHP 的語法分析器,成為 PHP 3 的基礎,而 PHP 也在這個時候改稱為 PHP: Hypertext Preprocessor.。經過幾個月測試,開發團隊在 1997 年 11 月發布了 PHP/FI 2,隨后就開始 PHP 3 的開放測試,最后在 1998 年 6 月正式發布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 發布后開始改寫 PHP 的核心,這個在 1999 年發布的語法分析器稱為 Zend Engine,他們也在以色列的 Ramat Gan 成立了 Zend Technologies 來管理 PHP 的開發。
在 2000 年 5 月 22 日,以 Zend Engine 1.0 為基礎的 PHP 4 正式發布,2004 年 7 月 13 日則發布了 PHP 5,PHP 5 則使用了第二代的 Zend Engine。PHP 包含了許多新特色,像是強化的面向對象功能、引入 PDO(PHP Data Objects,一個訪問數據庫的延伸庫)、以及許多性能上的增強。目前 PHP 4 已經不會繼續更新,以鼓勵用戶轉移到 PHP 5。
2008 年 PHP 5 成為了 PHP 唯一維護中的穩定版本。現在已經有超過 2000 萬個網站和 100 萬個Web服務器使用了這門語言,Facebook、Wikipedia、Wordpress 以及 Joomla 這些互聯網巨頭都在使用它。
最初由 Netscape 的 Brendan Eich 設計。 是甲骨文公司的注冊商標。ECMA 國際以 為基礎制定了 ECMAScript 標準。 也可以用于其他場合,如服務器端編程。完整的 實現包含三個部分:ECMAScript,文檔對象模型,瀏覽器對象模型。
Netscape 在最初將其腳本語言命名為 LiveScript,后來 Netscape 在與 Sun 合作之后將其改名為 。 最初受 Java 啟發而開始設計的,目的之一就是“看上去像 Java”,因此語法上有類似之處,一些名稱和命名規范也借自 Java。但 的主要設計原則源自 Self 和 Scheme。 與 Java 名稱上的近似,是當時 Netscape 為了營銷考慮與 Sun 微系統達成協議的結果。為了取得技術優勢,微軟推出了 JScript 來迎戰 的腳本語言。為了互用性,Ecma 國際(前身為歐洲計算機制造商協會)創建了 ECMA-262 標準(ECMAScript)。兩者都屬于 ECMAScript 的實現。盡管 作為給非程序人員的腳本語言,而非作為給程序人員的腳本語言來推廣和宣傳,但是 具有非常豐富的特性。
1993年,松本行弘開始 Ruby 語言的研發工作,試圖集成腳本語言中最好的特點,基于 C 語言開發,但比 Perl 更強大,比 Python 更面向對象。1994 年,松本行弘獨立完成 Ruby 的第一個 Alpha 版,那年他才28歲。松本行弘把它取名 Ruby,也因這名字是一種美麗珍貴的紅寶石之意。Ruby 本身也極具魅力——這種解釋型腳本語言,既有腳本語言強大的字符串處理能力和正則表達式,又不失解釋型語言的動態性。
此外,松本行弘還借鑒了 Perl 語言在文字處理方面的優勢,由 Ruby 編寫的程序不需事先編譯即可直接運行,因此利于實現開發過程中的快速反饋,極大地方便了程序的調試。1995 年 Ruby 腳本語言的第一個版本發布后,因其大大提高了開發者的工作效率,讓編程更有樂趣,很快在日本非常流行。
1997 年開始,松本行弘在“株式會社 Network 應用通信研究所”擔任特別研究員,專注于 Ruby 的開發。2000年,Dave Thomas 首次將這 Ruby 介紹到了英文社區,很快掀起了 Ruby 語言的熱潮。Ruby 的靈活特性給動態編程語言注入了新的活力,逐漸獲得全世界范圍的程序設計者的喜愛。
世界上沒有一種完美的語言,Ruby 也一樣。盡管 Ruby 很棒,但很多人還是覺得他的性能效率較低。不過好在后來開發者也通過一些擴展來彌補 Ruby 的瓶頸。2004年,丹麥人 David Heinemeier Hansson 用 Ruby 語言開發的一種 Web 框架 Ruby onRails,可達到 J2EE 開發速度的 10 倍以上,被很多人視為“軟件開發的銀彈”,Ruby 開始在全球范圍內流行。
Scala 是一門多范式的編程語言,一種類似 Java 的編程語言,設計初衷是實現可伸縮的語言、并集成面向對象編程和函數式編程的各種特性。
2001 年,洛桑聯邦理工學院的馬丁·奧德斯基開始基于 Funnel 的工作開始設計 Scala。Funnel 是把函數式編程思想和佩特里網相結合的一種編程語言。 奧德斯基之前工作于 Generic Java 和 javac。Java 平臺的Scala 于 2003 年底/ 2004 年初發布。.NET 平臺的 Scala 發布于 2004 年 6 月。該語言第二個版本,v2.0,發布于 2006 年 3 月。2009 年 4 月,Twitter 宣布他們已經把大部分后端程序從 Ruby 遷移到Scala,其余部分也打算要遷移。此外, Wattzon 已經公開宣稱,其整個平臺都已經是基于 Scala 基礎設施編寫的。
2014 年,馬丁·奧德斯基宣布 Scala 2.12 將要簡化語法,推出 Scala "Don Giovanni" 項目的時候,表示:“Scala 現在是為聰明人創造的,以后也是為聰明人服務的。” 不同于 Python 讓程序員用一種方法做所有事情,Scala 提供一整套工具,讓程序員自由選擇,無論是 mutable 數據結構,immutable 數據結構,并行(parallel)數據結構。然后在這些選擇中,Scala 再針對他們進行算法層面的特殊優化。Scala 相信程序員的聰明才智,讓程序員自行選擇合適的結構,以針對變化萬千的任務需求,這點是 Scala 做得好的地方。
1989 年的圣誕節期間,吉多·范羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,作為 ABC 語言的一種繼承。之所以選中 Python 作為程序的名字,是因為他是 BBC 電視劇——蒙提·派森的飛行馬戲團(Monty Python's Flying Circus)的愛好者。ABC 是由吉多參加設計的一種教學語言。就吉多本人看來,ABC 這種語言非常優美和強大,是專門為非專業程序員設計的。但是 ABC 語言并沒有成功,究其原因,吉多認為是非開放造成的。吉多決心在 Python 中避免這一錯誤,并獲取了非常好的效果,完美結合了 C 和其他一些語言。
就這樣,Python 在吉多手中誕生了。實際上,第一個實現是在 Mac 機上。可以說,Python 是從 ABC 發展起來,主要受到了 Modula-3(另一種相當優美且強大的語言,為小型團體所設計的)的影響。并且結合了 Unix shell 和C 的習慣。目前吉多仍然是 Python 的主要開發者,決定整個 Python 語言的發展方向。Python 社區經常稱呼他是仁慈的獨裁者(BDFL),意思是他仍然關注 Python 的開發進程,并在必要的時刻做出決定。
Python 的設計哲學是“優雅”、“明確”、“簡單”。Python 開發者的哲學是“用一種方法,最好是只有一種方法來做一件事”。在設計 Python 語言時,如果面臨多種選擇,Python 開發者一般會拒絕花俏的語法,而選擇明確沒有或者很少有歧義的語法。這些準則被稱為“Python 格言”。
Go,又稱 golang,是 Google 開發的一種靜態強類型、編譯型,并發型,并具有垃圾回收功能的編程語言。
羅伯特·格瑞史莫,羅勃·派克(Rob Pike)及肯·湯普遜于 2007 年 9 月開始設計 Go 語言,稍后 Ian Lance Taylor, Russ Cox 加入項目中。谷歌把 Go 作為一個 20% 項目開始研發,即讓員工抽出本職工作之外時間的 20%, 投入在該項目上。除了派克外,該項目的成員還有其他谷歌工程師也參與研發。對于開發這門語言的起因,派克說:我們之所以開發 Go,是因為過去 10 多年間軟件開發的難度令人沮喪。
Go 語言是基于 Inferno 操作系統所開發的。Go 語言于 2009 年 11 月正式宣布推出,成為開放源代碼項目,并在 Linux 及 MacOS X 平臺上進行了實現,后追加 Windows 系統下的實現。2010 年 1 月 10 日,Go 語言摘得了 TIOBE 公布的 2009 年年度大獎,該獎項授予在 2009 年市場份額增長最多的編程語言
2003 年 10 月,安迪·魯賓(Andy Rubin)在美國創建了 Android 科技公司(Android Inc.),并與利奇·米納爾(Rich Miner)、尼克·席爾斯(Nick Sears)、克里斯·懷特(Chris White)共同發展這家公司。Android 系統最初由安迪·魯賓(Andy Rubin)等人開發制作,最初開發這個系統的目的是創建一個數碼相機的先進操作系統,但是后來發現市場需求不夠大,加上智能手機市場快速成長,于是 Android 被改造為一款面向智能手機的操作系統。談到創建 Android 科技公司的原因,魯賓說:“聰明的移動設備能更好的意識到用戶的愛好和要求。”盡管 Android 科技公司的創始人和員工過去都具有各自的科技成就,但是 Android 科技公司的經營只顯露出它在智能手機軟件的方面,這時魯賓為 Android 科技公司花光所有錢。
2005 年 8 月 17 日,Google 低調收購了成立僅 22 個月的高科技企業 Android 及其團隊。安迪魯賓成為Google 公司工程部副總裁,繼續負責 Android 項目。2007 年 11 月 5 日,谷歌公司正式向外界展示了這款名為 Android 的操作系統,并且在這天谷歌宣布建立一個全球性的聯盟組織,該組織由34家手機制造商、軟件開發商、電信運營商以及芯片制造商共同組成,并與 84 家硬件制造商、軟件開發商及電信營運商組成開放手持設備聯盟(Open Handset Alliance)來共同研發改良 Android 系統。
2013 年 09 月 24 日谷歌開發的操作系統 Android 迎來了 5 歲生日,全世界采用這款系統的設備數量已經達到 10 億臺。
2010 年 7 月,蘋果開發者工具部門總監克里斯·拉特納開始著手 Swift 編程語言的設計工作,以一年時間,完成基本架構后,他領導了一個設計團隊大力參與其中。Swift 大約歷經4年的開發期,2014 年 6 月發表。
蘋果宣稱 Swift 的特點是:快速、現代、安全、互動,而且明顯優于 Objective-C 語言。Swift 以 LLVM 編譯,可以使用現有的 Cocoa 和 Cocoa Touch 框架。Xcode Playgrounds 功能是 Swift 為蘋果開發工具帶來的最大創新,該功能提供強大的互動效果,能讓 Swift 源代碼在撰寫過程中能即時顯示出其運行結果。拉特納本人強調,Playgrounds 很大程度是受到布雷特·維克多(Bret Victor)理念的啟發。
2015 年 6 月 8 日,蘋果于 WWDC 2015 上宣布,Swift 將開放源代碼,包括編譯器和標準庫。
2015 年 12 月 3 日,蘋果宣布開源 Swift,并支持 Linux,蘋果在新網站 swift.org 和托管網站 Github 上開源了 Swift,但蘋果的 app store 并不支持開源的 Swift,只支持蘋果官方的 Swift 版本,官方版本會在新網站 swift.org 上定期與開源版本同步。
Node.js 由 Ryan Dahl 和一些其他的開發者于2009年在 Joyent 工作時發明。Node.js 在2009年初次發布于Linux。 開發和維護工作由 Dahl 主持,其工作單位 Joyent 同時贊助這些工作。
Dahl 設計 Node.js 的靈感來自于 Flickr 上的一款上傳進度欄,瀏覽器并不清楚多少文件內容已被上傳,除非向服務器進行查詢。Dahl 于是設計了一個更簡便的方法。這個集成了 Google V8 JavaScript 引擎和一個底層 I/O API 的項目由 Dahl 在 inaugural European JSConf 向公眾進行展示。
Node.js 已經有數十萬模塊,它們可以通過一個名為 npm 的管理器免費下載。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。