4'43''視頻看完編程語言排行榜15年沉浮:Python這樣上位

大數據2019-09-19 01:18:15

導讀:哪種編程語言最火爆?


在不同的時代,這個問題也有着不同的答案,而一部編程語言的使用人數變遷史,實際上也是一部計算機世界的成長編年史。


一位名叫PYPL的油管up主很盡心地統計了從2004年到2019年,每個月使用人數最多的15種編程語言,並將這15年來的變化,製作成了一個4分鐘的視頻。


作者:寧靜

來源:大數據文摘(ID:BigDataDigest)


在這部TOP15的編程語言榜單中,我們可以看到各種不同編程語言的流行度起伏。除了今天主流的Python、Java、Javascript、C++、R外,在這個榜單曾擁有姓名的還包括C#、php、objective-C、Matlab、 TypeScript、Go這些不那麼熟悉的名字。


而細細推敲每一次的榜單變動,在感歎各種編程語言更新迭代之快的同時,也看到了一幅完整的計算機和編程世界變遷史:比如2004年Javascript語言的一度火爆,得益於網遊產業的興起;而11年左右Objective-C的流行歸功於iPhone的成功,編寫iPhone應用程序的主要編程語言是Objective-C。


先來看看這個視頻👇


在4分鐘的視頻中,15種編程語言在過去15年來的起伏變化一覽無餘,下面,我們一起沿着時間線,回顧各種語言的變化史。



01 故事開始:位居榜首的四大金剛


故事開始於2004年8月,這一年,Java用户量最多,其次是php,C/C++,Javascript。Python在這時候還是個比較小眾的編程語言,用户量並不多,排在第九位。



位於榜首的這四大金剛是怎樣的語言,它們各自又有什麼樣的特點呢?先來科普一下:


Java最初由Sun Microsystems開發和支持,而在2010年1月Sun Microsystems由Oracle收購,因此這之後開發和支持工作由Oracle完成,Java創建的宗旨是WORA,“Write Once Run Anywhere(代碼運行無邊界)”,Java的平台獨立性是其在企業界取得成功的支柱之一。


PHP最初由Rasmus Lerdorf於1995年創建,PHP廣泛用於構建動態網頁和服務器端開發。


Dennis MacAlistair美國計算機科學家Ritchie於1967年至1973年間在AT&T貝爾實驗室創建了C編程語言,C非常流行並廣泛用於系統編程,它比Java的歷史更久遠,但它仍在編程語言中佔據一席之地。C++被開發為C的下一代語言。它具有面向對象的編程功能,與更結構化的C語言相比,這一功能是十分令人驚歎的,因為它非常接近本機系統和而且具有面向對象特性,在金融的高頻交易領域被廣泛使用。


Javascript是一種廣泛運用於客户端的解釋性腳本語言,由Brendan Eich設計,並由Netscape Communications Corporation開發,在瀏覽器中可解釋運行,跨平台性能良好,幾乎每個主要網站都在使用這個語言。


在視頻開始,這四種語言在2004年初居榜首,實力地位不可撼動,而後隨着各大編程語言的迅速崛起,這種形式逐漸發生着變化。



02 2004.09-2004.10:網遊市場下的Javascript vs VB


2004年9月到10月,Javascript一直在與Visual Basic(簡稱VB)語言爭高下,2004年網遊市場風起雲湧,包括javascript在內的很多編程語言開始興起,使得JS一度超越Visual Basic位居第四。



2004年,《三國策Ⅲ》於9月25日由皓宇互動開發,《武林外史》是2004年11月28日由韓國CR-SPACE公司耗時2年時間開發完成的全3D純武俠網絡遊戲,除此外還有《傳奇》等經典網遊,這些遊戲產業的興起,使得遊戲開發中需要使用到的Javascript語言一度火爆,用户人數增長直逼Visual Basic,有一段時間甚至超越Visual Basic。


▲三國策遊戲主頁


▲武林外史游戲截圖


當然Visual Basic(簡稱VB)也不甘示弱,Visual Basic 是Microsoft公司開發的一種通用的基於對象的程序設計語言,其在發展過程中的第三方控件和GUI極大方便了數據訪問和程序開發。在引入.NET Framework 後,2004年,微軟開放了Visual Studio 2005的測試版本(代號Whidbey),包含了.NET Framework2.0的測試版本有關,使用Visual Basic的用户上升,再一次超越Javascript,出現了上圖中兩者“爭執”的局面。




03 2004.12-2005.01:爭執不休的Python和Delphi



Delphi是Windows下的開發平台,其最初原型是DOS時代盛行一時的“BorlandTurbo Pascal”。


“真正的程序員用C++,聰明的程序員用Delphi”,這句話是對Delphi最經典、最實在的描述。Delphi被稱為第四代編程語言,它具有簡單、高效、功能強大的特點,和VC相比,Delphi更簡單、更易於掌握,而且在功能上絲毫不遜色;和VB相比,Delphi則功能更強大、更實用,可以説Delphi同時兼備了VC功能強大和VB簡單易學的特點。


而我們現今廣泛使用的Python,這一解釋型腳本語言,於1991年發行,Python 2於2000年10月16日發佈,穩定版本是Python 2.7,自從2004年以後,Python的使用率呈線性增長。


這一時間區間,Python和Delphi“爭執不下”主要是由於Delphi9.0版本於2004年末發佈,在語法方面:加入了inline及for in loop等功能;IDE方面:把Borland Delphi. Net、Borland Delphi Win32、Borland C#、Enterprise Core Objects等環境和功能集成成一個開發工具,因此可以在Win32和.NET開發環境中切換或同時進行,這些功能的優化使得Delphi的用户數動態變化,與Python展開激烈“爭執”。



04 C#的兩次“躍進”


2006年年初,C#超越Perl,位居第6:


Perl是一種高級的、通用的、解釋的、動態的編程語言,Perl由LarryWall在20世紀80年代中期設計和開發,因其出色的文本處理能力而聲名鵲起,被廣泛用於CGI、數據庫應用程序、網絡編程和圖形編程。


2006年5月,C#成功超越Visual Basic位居第5。



C#為什麼能在2006年來兩次絕地反殺呢?它是一種怎樣的語言?


C#是微軟公司在2000年6月發佈的一種新的編程語言,是第一個面向組件的編程語言,它借鑑了Delphi的一個特點,與COM(組件對象模型)直接集成,並且新增了許多功能及語法,而且它是微軟公司.NET windows網絡框架的主角。


那麼為什麼在一年內,它能超越其他兩種語言?2006年又有哪些不平凡呢?


將時間定位到2006年1月1日到2006年12月31日,在必應中搜索C#語言,搜索得到的結果如下:



站在後人的角度看當時人們對於C#語言的理解還挺有意思的,2006年人們對於C#語言還是充滿了疑問,產生了C#與C語言的區別,C#.NET的前景如何諸如此類的問題,同樣的在百度搜索引擎中輸入C#語言得到的結果如下:



2006年web2.0的興起,同年,網絡遊戲免費模式繼續得到了大規模推廣,像盛大公司的《傳奇II》和《夢幻國度》,C#和與Unity結合的敏捷遊戲開發,使得那段時間的C#開發一度火熱,拋卻時勢使然,還有C#搭建桌面應用的便捷性以及C#3.0的發佈。


在2005年9 月份的PDC大會(Professional Developers Conference微軟專業開發人員大會)在大會上,發行了C#3.0(研發代號“Orcas”——魔鬼)的技術預覽版。


C# 3.0則是率先實現了LINQ的語言,可以用類似於SQL語句的語法從一個數據源中輕鬆地得到滿足一定條件的對象集合。例如要查找一個字符串數組names中所有長度大於5的字符串,就可以寫:var longname = from n in names wheren.Length > 5 select n;


這些原因加起來,使得C#在2006年成為程序員的“寵兒”。



05 2007.04-2007.05:Javascript 與C/C++持續叫板


2007年4月到2007年五月,Javascript一直在與C/C++叫板,不過最後還是Javascript穩居第三,Javascript做為門户網站的必備語言,2007年5月開始,千龍網、新浪網、搜狐網、網易網、TOM網、中華網等11家網站舉辦“網上大講堂”活動,旨在通過網上授課的形式與網民互動,傳播科學文化知識,C/C++短期內的火爆還是沒有撼動Javascript在網站開發方面的地位。




06 2008年C#和Python的攀升


08年除了C++和Javascript相持不下外,也同樣見證了Python的兩次逆襲和C#第一次超越C/C++。


2008年年初,Python超越Perl:


2008年10月,Python超越Visual Basic,僅次於C/C++:


同年7月,C#超越C/C++位居第四:


2008年到底發生了什麼?使得這兩種語言能夠脱穎而出呢?


08年,汶川大地震、北京奧運會等重大事件促進網絡媒體提升主流媒體價值,同時中國網民躍居世界第一,雖然受到金融危機的影響,互聯網的浪潮已經是大勢所趨。


Python的Web開發,只需要下載引入一些成熟的包,這些便利性是Python的優勢所在,同時3.0版本在後續的發佈,也吸引了一批開發者,使得Python在一年內兩次攀升。


至於C#的攀升,不難理解,遊戲市場和桌面應用的持續發酵,騰訊於2008年新推出的《穿越火線》等一系列遊戲在催生着C#的發展。



07 Objective-C的開掛曆程


2011年11月到2012年1月,Objective-C一路開掛,超越RubyMatlab居第8位。



Matlab是商業級別的數學建模軟件,這個語言我們耳熟能詳,那Objective-C和Ruby又是什麼語言呢?


Ruby最初是由日本的Yukihiro “Matz” Matsumoto在20世紀90年代中期設計和開發的,主要用於Web應用程序開發,被Twitter、Hulu和Groupon等各大網站所使用。


Objective-C看到這個語言的標識,就知道和蘋果有點關係了,它是擴充C的面向對象編程語言,主要使用於Mac OS X和GNUstep這兩個使用OpenStep標準的系統。


2011年10月4日,蘋果發佈了第五代iPhone,即iPhone 4S,這款手機採用了iOS 5系統,並與Twitter進行了整合。



Objective-C的流行歸功於iPhone的成功,編寫iPhone應用程序的主要編程語言是Objective-C。



08 Python的大反擊!這匹黑馬如何逆襲?


2013年5月,Python第一次超越C/C++成為排名第四的語言。


到了2013年12月的時候,Python已經超越C#,躍居第三。


2013年再一次見證了Python這匹“黑馬”的實力,時代造就英雄,這背後是時代使然,也是必然。


12年到14年,“雲計算”這個詞出現在大批創業公司和巨頭的耳中,大家都在做IAAS,很多著名的雲計算開源平台都是基於Python開發的(如OpenStack),催生出不少的Python崗位,Python的開發者和用户普遍增多。


OpenStack鏈接:
https://www.openstack.org/



2014年到2015年“大眾創業,萬眾創新”的口號響徹祖國的大江南北,什麼語言最適合快速搭建原型呢?Python再一次展露頭角,在2015年末成功超越php成為用户量最多的第二大語言,緊逼之前一直穩居第一的Java,在這以後,Python用户量逐漸增長。



09 小插曲:被R超越的Objective-C

2017年9月到10月間Objective-C和R語言一直爭執不下。


Objective-C之前有了解,那R語言又是怎樣的語言呢?


R是屬於GNU系統的一個自由、免費、源代碼開放的軟件,它是一個用於統計計算和統計製圖的優秀工具,R是受S語言和Scheme語言影響發展而來,其最主要的特點是免費、開源、各種各樣的模塊十分齊全,在R語言中,提供了大量的第三方功能包,其內容涵蓋了從統計計算到機器學習、從金融分析到生物信息、從社會網絡分析到自然語言處理、從各種數據庫各種語言接口到高性能計算模型,可以説功能十分齊全。


Python人數在快速增長的同時,為什麼有R語言超越Objective-C這一局面呢?


2016年3月,阿爾法圍棋與圍棋世界冠軍、職業九段棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝,這足以使人們意識到“人工智能”不再是概念,解決一些此領域的問題,難免需要對數據做統計,運用機器學習的算法解決問題,R語言做為優秀開源的統計工具,也是在這一時期內用户量波動攀升的原因。同樣Python中大量的科學計算包,也使得用户量一度緊逼Java,Python有可能超越Java嗎?別急,時間會告訴我們答案。



10 Python終得桂冠


2018年2月到5月,使用Python語言的人數不斷增多,大有趕上Java的趨勢。


到了2018年6月,Python已經超越Java成為用户量最多的語言。



2018年7月到8月,Python居榜首後,Java用户量不斷減少,而其用户量的不斷活躍增多,這其中可能是一部分Java工程師投入了Python的懷抱。



一份2017年來自Python Developers Survey的數據顯示如下圖:


來源:Python Developers Survey


Python開發者佔比比較多的依次是美國、印度、中國(2017年的調查數據,僅供參考)


而到了2018年8月的時候已經成為用户量最多的編程語言:


Java的跨平台性和穩定性,一直讓其成為編程界的第一把交椅,實力地位不可撼動、但其宂長的語法讓很多開發者詬病,這也是Java開發者減少的原因。


Python在很多領域都能紮根,如:Web開發、金融、運維、機器學習、AI等,從來沒有一個語言能涉及如此多的領域,其他因素包括:

  1. 世界科技巨頭喜歡它,谷歌、Youtube、Facebook、IBM、NASA、Dropbox、雅虎、Mozilla、Quora,Instagram和Reddit只是技術領域的一些巨頭,它們將Python用於各種用途,並且一直在尋找Python工程師。例如,谷歌使用Python從AI算法到App Engine Cloud。同時,99.9%的Dropbox代碼採Python,包括服務器後端,桌面客户端,網站控制器邏輯,API後端和分析工具;
  2. Python廣泛用於機器學習,隨着數據科學的興起,Python作為科學語言的普及程度已經飆升,有許多用Python編寫的機器學習庫,以及大量的工具,可以輕鬆地進行機器學習;
  3. Python對於初學者來説是完美的,它是初學者程序員的絕佳選擇,因為它的語法簡單靈活,使用Python,您可以輕鬆地開始使用,並立即着手構建可用的東西,早期的這種成就感是學習編碼的一個非常重要的因素,近五分之四的Python開發人員將其用作主要語言;
  4. 它可能只是你需要的唯一語言,這是可能的,因為Python是一種多功能語言。根據Skill Up 2018開發人員技能報告,Python是一種腳本語言,它為從筆測試者到DevOps工程師的每個人提供了很大程度的控制—它允許他們解決問題,您可以使用Python來構建網站,開發GUI,分析數據,將其他語言“粘合”在一起,這意味着您可以使用這種語言來滿足您的開發需求。

Python如此受廣大開發者歡迎,那麼具體Python開發者的薪酬有多少呢?會不會很誘人呢?



11 美國各州Python開發者平均薪酬大起底


到了2019年,美國哪個州Python程序員工資最高呢?daxx網站大起底,如下圖所示:


來源:daxx.com



來源:daxx.com


研究顯示:

  • 根據Gooroo的説法,美國平均Python開發者薪水為110,021美元。紐約和加利福尼亞擁有最高的Python開發人員薪水——相應的122,135美元和121,443美元。
  • 另一個有趣的事情是加利福尼亞州,紐約州,馬薩諸塞州和弗吉尼亞州在美國擁有最多的開放Python職位。


有一個大趨勢表明專門研究稀有技術的開發人員比那些知識更廣泛的語言的人提供更多的工資,是不是相比Python,其他偏冷門的編程語言工資更高呢?事實並非如此,下面兩個圖表告訴你答案,Python是一個例外。



12 Python與其他編程語言薪酬對比


根據Gooroo的説法,Python開發人員的平均工資是每年110,021美元,這使得Python成為該國第三大收入最高的編程語言,只有Java和Ruby領先。


Python開發人員的薪水與其他編程語言比較圖




觀察上圖可以發現,Python開發者的薪酬在2017到2018年之間一直水漲船高,遙遙領先,不過到了2018到2019年有下降的趨勢,這也和上面Gooroo的調查一致,雖然如此,Python也居薪酬前列,Python做為現今人工智能領域的工具,其火熱程度可見一斑。


以上從2004年到2018年,回顧了15年來各大語言的沉浮史,下面將對這些變化做總結,以古為鏡,可以知興廢。


13 總覽語言浮沉史


上面這幅圖,將2001年到2018年,各種語言在TIOBE的排名繪製成了折線圖,不難看出,從2004年起,Python一路披荊斬棘,走上神壇,而其他語言,Visual Basic、C#等排名有下滑。


正如《琅琊榜》中的詩句所言:“遙映人間冰雪樣,暗香幽浮曲臨江,遍識天下英雄路,俯首江左有梅郎。”時勢造就英雄,現今AI有Python。


相關報道:
https://www.daxx.com/blog/development-trends/python-developer-salary-usa
https://www.youtube.com/watch?v=yL704C1PI4o



有話要説👇


Q: 你最喜歡的編程語言是哪個?

歡迎留言與大家分享


猜你想看👇


  • 身高2m,體重2kg,這樣的數據“看上去很好”?

  • 數據分析必備:掌握這個R語言基礎包1%的功能,你就很牛了

  • 包教包會,7段代碼帶你玩轉Python條件語句

  • 學霸們在假期裏“偷着學”,看的是這些書


更多精彩👇


在公眾號對話框輸入以下關鍵詞

查看更多優質內容!


PPT | 報告 | 讀書 | 書單 | 乾貨 

大數據 | 揭祕 | Python | 可視化

AI | 人工智能 | 5G | 區塊鏈

機器學習 | 深度學習 | 神經網絡

合夥人 1024 | 段子 | 數學 | 高考


據統計,99%的大咖都完成了這個神操作

👇



覺得不錯,請把這篇文章分享給你的朋友

轉載 / 投稿請聯繫:[email protected]

更多精彩,請在後台點擊“歷史文章”查看

https://hk.wxwenku.com/d/201392476