編程語言排行榜
TIOBE編程語言社區發布了2017 年11 月排行榜,Java、C、C ++ 三門編程語言依然占據前三。11月前5 排名中,最值得注意的是:Python 再次逆襲,已經超越C#,上升到第4 的位置。
11月編程語言排行榜--TOP20 榜單
年初,Swift 曾一度進入前十名,近期,Swift 卻不斷下滑,本月從上個月的第16 名掉到了如今的歷史最低第20 名,大有跌出20名之外的趨勢。作為iOS 開發的另一主流語言,Objective-C 也難逃厄運,從上個月的第17 名跌落至第19 名。
Python超越C# 排名第4
無論在哪個榜單中Python都是保持著非同尋常的增長速度,為什么Python 增長的這么快?眾所周知,Python 功能非常強大,標準庫的極其豐富,從Web 開發到數據科學,再到DevOps,而且目前越來越多的應用是使用Python 開發的。
除了Python,其他腳本語言都趨于下滑
除了一路攀升的Python,我們可以看出其他腳本語言幾乎不在前20 名行列。此前腳本語言因其易于編寫和易于運行的特性,Perl,Python,PHP 和Ruby 等語言在當時非常流行,但如今排名都趨于下滑,這是為什么呢?
腳本語言下滑的主要原因可能還是性能問題,當然這可能取決于很多因素,問題是有多少情況下,性能問題才是致命的。比如腳本語言中的大多數錯誤都是運行時發生的,盡管可以編寫所有類型的單元測試來彌補這一點,但是仍然無法避免出現這樣的錯誤。人們對質量要求越來越高,如今幾乎沒有人敢用腳本語言編寫一個關鍵的大型軟件系統。
Java持續下滑
還有一點值得注意的是,縱觀整個排行榜發現如今大部分編程語言的市場份額幾乎都在不斷減少,最為明顯的當屬排行第一的Java,從2016 年開始就持續下滑,本月下滑5.52%,下滑份額在前20 名中也是排行第一。
歷史排名(1987-2017):以下排名位次取決于12個月的平均值
我們看到這些語言的競相綻放。其實世界上有很多種程式語言,但能夠熬出頭被眾人采用的卻很少。程式語言可以說是軟體產業的基石,也是所有工程師每天都會用到的工具。
每一種語言都經過多次修改,才能夠順應潮流,讓軟體業有更豐富的面貌。雖如此,這些語言背后的推手卻鮮為人知,大家大概都知道Java之父是 James Gosling,但卻沒人知道Perl、Pascal、Lisp或Erlang的創造者是誰。以下是我為大家搜集的資料,希望他們的貢獻能夠被更多人知道。
十位發明了全球最通用10種程式語言的工程師
Java – James Gosling
Java 是由任職于升陽電腦的James Gosling 等人開發,是目前最受歡迎且廣泛使用的語言之一。原本由升陽電腦負責開發和更新,但在2010 年升陽被甲骨文并購之后,就改由甲骨文負責。
Java的宗旨是「Write Once Run Anywhere(一次編寫,到處運行)」,強調跨平臺的特性,也是這語言成功的重要因素。
C – Dennis Ritchie
Dennis MacAlistair Ritchie 是一位美國工程師,1967-1973年之間,在AT&T的貝爾實驗室開發。雖然開發時間較早,但至今仍保有競爭優勢。
順帶一提,UNIX 作業系統也是他的作品之一。雖然多數人可能沒聽過他的名字,但在軟體界他的名氣可不輸給比爾蓋茲或賈伯斯。
C++ – Bjarne Stroustrup
Bjarne Stroustrup是一位丹麥工程師,后來也在貝爾實驗室工作。C++是C的下一代的概念。起初是以物件導向為主,后來加入許多模板和功能。由于接近C語言,速度又快,所以廣泛的被大家接受。
Python – Guido van Rossum
Python的設計宗旨就是希望程式碼可以被人類閱讀,不像一般語言難以理解,由荷蘭程式設計師 Guido van Rossum所開發。
在美國,多數的學生都學Java,但是近幾年,大家都改以Python為入門程式。常用在網頁應用工具,Google、Yahoo和Spotify也都大量使用這種語言。如果你還在猶豫要學Java或是Python可以看看我們的另外一篇文章。
PHP – Rasmus Lerdorf
不管你有多討厭PHP,都無法忽視全世界有半數網頁都是使用這種語言。PHP原本只是Rasmus Lerdorf為了快速修編自己的網路履歷而開發的,PHP原本的全名也就是Personal Home Page。
當時它的競爭對手是微軟的Active Server Pages (ASP)和Java Server Pages(JSP),顯然它贏了,并且占領超過2 千萬個網站和一百萬個網站伺服器。它很適合用在動態網頁上面,以及網頁伺服器的開發上面,Facebook、Wikipedia、Wordpress 和Joomla 也都是使用這個語言。
Perl–Larry Wall
Perl是一種高階、通用、直譯、動態的程式語言。1980年代中由Larry Wall 開發,特別的是它不僅是個工程師,還是個語言學家,這項特質在Perl中也可以發現,也是它最大的優勢。
Perl被廣泛的應用在編寫CGI(通用網關接口)、資料庫應用、網路/圖形設計上。IMDB、Amazon和Priceline就是以此為基礎。對Java程式設計師來說,能夠在履歷加上Perl或Python是很加分的,因為他們會需要腳本語言來完成維修、支援等特殊任務。
JavaScript – Brendan Eich
如果你問我過去5-10年之間誰是冠軍,我會回答「JavaScript」。過去他主攻在客戶端的程式撰寫,還建立了函示庫jQuery,近幾年往伺服器開發走,推出了Node.js。
它是一種基于原型、動態型別、弱型別的語言。1995年由網景的Brendan Eich所開發。主要在瀏覽器上運行,不需要伺服器支援。代表成果有Gmail、Mozila Firefox。
Ruby–Yukihiro Matsumoto
1990年中,由松本行弘開發。Ruby是一種有趣的語言,如果你學過大概就會懂我的意思,它受到Perl、Ada、Lisp和Smalltalk影響,設計的宗旨就是希望能減少編程的時間,強調人性化的介面。
多半用在網頁應用程式,像是Twitter、Hulu 和Groupon。
Lisp – John McCarthy
第二年長的高階語言,原名是List Processor(清單處理器),由John McCarthy 發明,此生致力于人工智慧研究。
Pascal – Niklaus Wirth
1968年由 Niklaus Wirth 發明,是一個小型、高校的語言,鼓勵結構化編成和資料結構的實踐。
不管你是使用哪種語言,都希望你知道這些東西不是憑空出現的,沒有他們,我們不會有今天的成就。