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