1990 年代初,任職於 Sun 公司的詹姆斯·高斯林等人開始開發 Java 語言的雛形,最初被命名爲 Oak,目標設置在家用電器等小型系統的程序語言,應用在電視機、電話、鬧鐘、烤麪包機等家用電器的控制和通信。因爲這些智能化家電的市場需求沒有預期的高, Sun 公司放棄了該項計劃。隨着 1990 年代互聯網的發展, Sun 公司看見 Oak 在互聯網上應用的前景,因而改造了 Oak,於1995年5月以 Java 的名稱正式發佈。Java 伴隨着互聯網的迅猛發展而發展,逐漸成爲重要的網絡編程語言。java
與傳統型態不一樣, Sun 公司在推出 Java 時就將其做爲開放的技術。全球數以萬計的 Java 開發公司被要求所設計的Java軟件必須相互兼容。「Java語言靠羣體的力量而非公司的力量」是 Sun 公司的口號之一,並得到了廣大軟件開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式徹底不一樣,此外,微軟公司後來推出了與之競爭的 .NET 平臺以及模仿 Java 的 C# 語言。後來 Sun 公司被甲骨文公司併購,Java 也隨之成爲甲骨文公司的產品。程序員
Java 的創造是爲了完成 WORA(Write once, run anywhere 一次編寫處處運行)的理念,它的平臺獨立性使它在企業應用中得到了巨大成功。到目前爲止,它已經成爲了最流行的一門應用程序編程語言,被普遍應用於企業級Web應用開發和移動應用開發。golang
這個構思起源於 Stroustrup 作博士論文時的一些程序撰寫經驗。他發現 Simula 具有很利於大型軟件開發的特色,但 Simula 的運行速度太慢,沒法對現實需求發揮功效;BCPL 雖快得多,但它過於低級的特性,使其不適於大型軟件的開發。當 Stroustrup 開始在貝爾實驗室工做時,他有分析 UNIX 核心關於分佈式計算的問題。回想起他的博士論文經驗,Stroustrup 開始爲 C 語言加強一些相似 Simula 的特色。之因此選擇 C,是由於它適於各類用途、快速和可移植性。除了 C 和 Simula 以外,同時也從其它語言中獲取靈感,如 ALGOL 6八、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++ 無關的早期編程語言。shell
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 語言來開發。npm
在 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,有較多的限制,不過更簡單、更有彈性。swift
在 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 on Rails,可達到 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 的管理器免費下載。