程式語言的歷史資訊圖表:Java 才是現任霸主

作者 | 發布日期 2013 年 12 月 17 日 15:26 | 分類 科技教育 , 網路
program language 1

愛達·勒芙蕾絲(Ada Lovelace)是大家公認的首位電腦程式設計師,也開創了世上首上程式語言,從 1843 年至今,程式語言的發展至今已近 170 年的歷史了,在美國現今約有 120 萬以上的相關從業人員,程式也發展出不同的語言,不過根據 Veracode 的調查來看,Java 才是目前最多人使用的程式語言。



 

Java 與 C 語言持續熱門

program language 2

從表中可以看到,從 Veracode 透過全球程式人員的統計、課程與第三方套件的資料統計數據手來分析目前市場中程式語言的熱門程度,當然,這個數值並非絕對準確,但也代表著某種趨勢。直至 2013 年 3 月為止,Java 仍是世界上最多人使用的程式語言,比例達到 18.156%,且比去年同前相比還成長了 1.05% 之多。

排行第二的則是 C 語言,與去年排行相同,比例只比 Java 略少 17.141%,與去年相比小幅成長了 0.05%。第三名則是蘋果的 Objective C 則是前十名中成長最多的,從去年的第五名一路爬到第三名,成長了 2.49%,比例為 10.230%,看來受到 iOS 裝置市場依然受重視下,Objective C 也就不斷成長,以其目前比例來說要追上前兩名恐怕還是有點困難。

第四名為 C++,與去年維持相同排名,使用比例也成長了 1.07。第五名的 C# 則是在前十名唯一下滑且仍在榜中的程式語言(有一個程式語言直接從第 8 名滑出前十名,Veracode 並未列出),下滑幅度為 1.65%。其他維持相同排名還有 PHP、(Visual)Basic 與 Perl,上升的則有 Pytohon 與 Ruby,而 Ruby 則更是排名上升最多的,由去年的 13 名躍升至第 9 名。

程式語言的歷史


1957 至1959 年
FORTRAN、LISP 與 COBOL 是這時期誕生的程式語言,也是目前仍在使用的老一輩程式語言,這類的高階程式語言是為科學家、數學家與大型商業電腦所設計的,其主要的使用族群為大型超級電腦、AI 人工智慧與商業軟體。NASA 美國太空總署、信用卡與 ATM 自動櫃員機都用過這類的程式語言。

Cobol 的部分原始程式碼曾出現在電影《魔鬼終結者(Terminator)》中機械終結者的視覺螢幕中,做為其啟動使用的特效效果。

 


1970 年
PASCAL 於這一年由尼克勞斯·維爾特(Niklaus Wirth)所創造出來,同樣為高階程式語言,主要是針對程式教學結構與資料結構為主要發展目的,其商業版本在 1980 年代廣泛的被採用,特別是其洐生的物件導向分支 Object Pascal 就常被用來做 Windows 的應用程式開發上。蘋果於 1983 年推出的 Lisa 個人電腦與知名的 Skype 也用了這個程式語言。

 


1972 年
著名的 C 語言是在這年誕生的,由貝爾實驗室的丹尼斯·里奇(Dennis Ritchie)以早期的 B 語言為基礎所開創出來的,是為了在早期的電腦上執行 UNIX 系統所開創出來的,並做為通用開發的低階程式語言。C 語言有著眾多分支版本,且都相當的知名且使用者多,如 C#、Java、Javascript、Perl、PHP 與 Python 等均是。其主要運用在跨平台的應用程式、系統程式、UNIX 程式與遊戲軟體的開發上,使用相當廣泛,早期 WWW 網際網路伺服器也是以 C 語言在 1973 年重新撰寫的 UNIX 上運作的。

 


1983 年
C++ 早期被稱之為「C with Classes(包含型別的 C 語言)」,同樣由貝爾實驗室的比雅尼·史特勞斯特魯普(Bjarne Stroustrup)發明,其後才另命名為 C++,其「+」表示為增強之意,C++ 屬中階程式語言,加強了 C 語言中的 Classes(型別)、虛擬函式、模版等功能。它也被廣泛的使用在應用軟體、嵌入式軟體、伺服器軟體與電視遊樂器中的遊戲開發中,從 Adobe、Google Chrome、Mozilla、Microsoft Internet Explorer(IE)等,使用的都是 C++。

有趣的是,另有名為「C+」的程式語言,不過 C+ 卻與 C/C++ 無關。

 


1983 年
Objective-C 同樣是洐生至 C 語言的程式語言,由 Stepstone 公司的創辦人布萊德·考克斯(Brad Cox)與湯姆·勒(Tom Love)共同發明,屬於通用、高階的程式語言,其並加入了物件導向與 Smalltalk 語言的訊息傳遞風格。Objective-C 最早由蘋果公司創辦人 Steve Jobs 另創的 NeXT 公司買下授權並做為 NeXTSTP 系統的使用者界面與開發的環境的基礎。

在 NeXT 被蘋果併購後,NeXTSTEP 的架構成為 OS X 與行動裝置上的 iOS 的核心後,Objective-C 也就成了蘋果公司開發軟體的主要程式語言,iPhone/iPad 於市場熱銷下,Objective-C 的知名度與使用者也大幅增加。

 


1987 年
Perl 為通用型的高階程式語言,其一開始是 Unisys 的拉里·沃爾(Larry Wall)為了在 UNIX 系統上處理報表更為方便而開創的,Perl 的高性能與靈活度佳被廣為稱道,甚至有程式語言的瑞士刀之稱,其應用範圍很廣,在 CGI、資料庫軟體、系統管理、網路程式與圖形程式都適用,因此著名的電影資料庫網站 IMDB、線上購物王者亞馬遜(Amazon)與 Pirceline、Ticketmaster 都採用了 Perl。

Perl 本來打算以「Pearl」為名,是以 Larry Wall 的妻子 Gloria 來命名,在發現已有其他以 Peral 為名的程式語言後,只好更名成 Perl。當年 O’Reilly 出版社的出版的《Programming Perl》一書中封面圖片使用了一隻駱駝圖片,也讓駱駝成為 Perl 非官方的代表標誌。

 


1991 年
Python 是Guido van Rossum(Guido van Rossum)於 CWI(Centrum Wiskunde & Informatica;國家數學和計算機科學研究學會)任職時為了打發時間而開發出來的,其名字則來自其喜愛的英國電視喜劇《Monty Python’s Flying Circus(蒙提·派森的飛行馬戲團)》,也是一個通用型的高階程式語言。Python 可用來支援各種不同的程式且易於使用,明確、簡單、結構又清楚的語法是其特性。

在 Web 軟體、軟體開發與資訊安全方面有諸多應用,Google、Yahoo 與線上音樂平台 Spotify 都有採用。而 Python 如同其語言名稱來自喜劇一般,Python 的練習範例中,就有許多源自 Monty Python 的惡搞,如用 Spam 火腿與雞蛋來取代傳統的 foo 與 bar。

 


1993 年
以創造人松本行弘(Yukihiro Matsumoto)的誕生石為名的 Ruby 是這幾年頗為當紅的程式語言,也是統計中成長最快的,其受 Perl、Ada、Lisp、Smalltalk 等程式語言影響很大,是為了更快效率並讓程式的編寫更為愉快而開創的。

Ruby 其通用、高階語言的特性多用於 Web 程式開發,以及近來頗知名的 Ruby on Rails 這個開源版的 Web 開發框架上。著名的 Twitter、線上串流影音服務 Hulu 與 Groupon 都有採用。Ruby 從 Perl 借用了不少東西,開發者自己也認為 Ruby 這名做為接續 Perl 之後的程式語言其實頗為恰當,甚至 Perl 之父也喜歡 Ruby,還從中借了操作符號加入 Perl 6 中。

 


1995 年
與咖啡同名的 Java,其名字也真的來自咖啡,只因昇陽工程師詹姆斯·高斯林(James Gosling)覺得在開發此一程式語言時需要耗掉大量的咖啡。其實 Java 本來要命名為 Oak,只不過名稱已被先行註冊,只好更名為 Java。

Java 一開始是為了互動電視的專案而開發,是一個高階通用型的程式語言,其跨平台的特性是最大的特色,在網路程式、Web 應用軟體開發、使用者圖形界面開發等應用都有被採用。為網路而設計的 Java 目前在瀏覽器上的地位式微,不過在 Android 採用了 Java 為系統並做為應用軟體開發平台下,Java 反而成為目前最受歡迎的開發程式語言。

 


1995 年
PHP 的原文其實是 Personal Home Page 個人首頁,是開創者拉斯姆斯·勒多夫(Rasmus Lerdorf)為了要維護個人網頁所開發的程式集,由於可以組成動態的網頁,在釋出後經各方改寫另外更名成了現今的 Hypertext Preprocessor 超文字預處理器。

PHP 為一個開源通用的語言,主要用來建構動態網頁,也是廣為各企業使用在網頁中的開源軟體,無論是 Facebook、維基百科、Digg、WordPress 與 Joomla 都採用了 PHP。各版本的 PHP 在網址後加上「?=PHPE9568F36-D428-11d2-A769-00AA001ACF42」的字串,會各自呈現不同的標誌,算是一個小小又有趣的彩蛋。

 


1995 年
JavaScript 是屬於高階語言,是由網景 Netscape 的布蘭登·艾克(Brendan Eich)為了添增網頁功能而設計而發明的,可用在動態網頁中提交、確認表格資料,創造互動、動畫,或是追踪使用者行為。除了動態網頁的開發外,PDF 文件、瀏覽器與桌面小工具都可利用 JavaScript 來開發。Gmail、Adobe Photoshop 與 Mozilla Firefox 等產品中都有用到 JavaScript。

JavaScript 雖然名字中也有 Java 的名稱,但其語法結構與出身其實與 Java 一點關係都沒有,只是單純的當初想讓他外表的樣子如同 Java 一般,其原始開發時的代號名稱其實是 Mocha 及 LiveScript。

 

安全漏洞大不同

在圖表的最後,Veracode 也列出了各程式言容易產生安全漏洞的統計,可以讓程式開者參考一下不同的開發程式產生漏洞的主因來源何在,以及幾個增加程式安全的小技巧。

program language 14

 

延伸閱讀:

發表迴響