在不一樣的時代,這個問題也有着不一樣的答案,而一部編程語言的使用人數變遷史,實際上也是一部計算機世界的成長編年史。python
一位名叫PYPL的油管up主很盡心地統計了從2004年到2019年,每月使用人數最多的15種編程語言,並將這15年來的變化,製做成了一個4分鐘的視頻。程序員
在這部TOP15的編程語言榜單中,咱們能夠看到各類不一樣編程語言的流行度起伏。除了今天主流的Python、Java、JavaScript、C++、R外,在這個榜單曾擁有姓名的還包括C#、PHP、Objective-C、Matlab、 TypeScript、Go這些不那麼熟悉的名字。web
而細細推敲每一次的榜單變更,在感嘆各類編程語言更新迭代之快的同時,也看到了一幅完整的計算機和編程世界變遷史:好比2004年JavasSript語言的一度火爆,得益於網遊產業的興起;而11年左右Objective-C的流行歸功於iPhone的成功,編寫iPhone應用程序的主要編程語言是Objective-C。算法
下面,請隨我一塊兒,沿着時間線,回顧各類語言的變化史。數據庫
故事開始於2004年8月,這一年,Java用戶量最多,其次是PHP,C/C++,JavaScript。Python在這時候仍是個比較小衆的編程語言,用戶量並很少,排在第九位。編程
Java最初由Sun Microsystems開發和支持,而在2010年1月Sun Microsystems由Oracle收購,所以這以後開發和支持工做由Oracle完成,Java建立的宗旨是WORA,「Write Once Run Anywhere(代碼運行無邊界)」,Java的平臺獨立性是其在企業界取得成功的支柱之一。windows
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年初居榜首,實力地位不可撼動,然後隨着各大編程語言的迅速崛起,這種形式逐漸發生着變化。
2004年9月到10月,JavaScript一直在與Visual Basic(簡稱VB)語言爭高下,2004年網遊市場風起雲涌,包括JavaScript在內的不少編程語言開始興起,使得JS一度超越Visual Basic位居第四。
固然Visual Basic(簡稱VB)也不甘示弱,Visual Basic 是Microsoft公司開發的一種通用的基於對象的程序設計語言,其在發展過程當中的第三方控件和GUI極大方便了數據訪問和程序開發。在引入.NET Framework 後,2004年,微軟開放了Visual Studio 2005的測試版本(代號Whidbey),包含了.NET Framework2.0的測試版本有關,使用Visual Basic的用戶上升,再一次超越JavaScript,出現了上圖中二者「爭執」的局面。
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 Win3二、Borland C#、Enterprise Core Objects等環境和功能集成成一個開發工具,所以能夠在Win32和.NET開發環境中切換或同時進行,這些功能的優化使得Delphi的用戶數動態變化,與Python展開激烈「爭執」。
2006年年初,C#超越Perl,位居第6:
2006年5月,C#成功超越Visual Basic位居第5。
C#是微軟公司在2000年6月發佈的一種新的編程語言,是第一個面向組件的編程語言,它借鑑了Delphi的一個特色,與COM(組件對象模型)直接集成,而且新增了許多功能及語法,並且它是微軟公司.NET windows網絡框架的主角。
那麼爲何在一年內,它能超越其餘兩種語言?2006年又有哪些不平凡呢?
文摘菌將時間定位到2006年1月1日到2006年12月31日,在必應中搜索C#語言,搜索獲得的結果以下:
在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年成爲程序員的「寵兒」。
2007年4月到2007年五月,Javascript一直在與C/C++叫板,不過最後仍是JavaScript穩居第三,JavaScript作爲門戶網站的必備語言,2007年5月開始,千龍網、新浪網、搜狐網、網易網、TOM網、中華網等11家網站舉辦「網上大講堂」活動,旨在經過網上授課的形式與網民互動,傳播科學文化知識,C/C++短時間內的火爆仍是沒有撼動Javascript在網站開發方面的地位。
08年除了C++和JavaScript相持不下外,也一樣見證了Python的兩次逆襲和C#第一次超越C/C++。
2008年年初,Python超越Perl:
08年,汶川大地震、北京奧運會等重大事件促進網絡媒體提高主流媒體價值,同時中國網民躍居世界第一,雖然受到金融危機的影響,互聯網的浪潮已是大勢所趨。
Python的Web開發,只須要下載引入一些成熟的包,這些便利性是Python的優點所在,同時3.0版本在後續的發佈,也吸引了一批開發者,使得Python在一年內兩次攀升。
至於C#的攀升,不難理解,遊戲市場和桌面應用的持續發酵,騰訊於2008年新推出的《穿越火線》等一系列遊戲在催生着C#的發展。
2011年11月到2012年1月,Objective-C一路開掛,超越Ruby和Matlab居第8位。
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進行了整合。
2013年5月,Python第一次超越C/C++成爲排名第四的語言。
12年到14年,「雲計算」這個詞出如今大批創業公司和巨頭的耳中,你們都在作IAAS,不少著名的雲計算開源平臺都是基於Python開發的(如OpenStack),催生出很多的Python崗位,Python的開發者和用戶廣泛增多。
OpenStack連接:https://www.openstack.org/
2017年9月到10月間Objective-C和R語言一直爭執不下。
R是屬於GNU系統的一個自由、免費、源代碼開放的軟件,它是一個用於統計計算和統計製圖的優秀工具,R是受S語言和Scheme語言影響發展而來,其最主要的特色是免費、開源、各類各樣的模塊十分齊全,在R語言中,提供了大量的第三方功能包,其內容涵蓋了從統計計算到機器學習、從金融分析到生物信息、從社會網絡分析到天然語言處理、從各類數據庫各類語言接口到高性能計算模型,能夠說功能十分齊全。
Python人數在快速增加的同時,爲何有R語言超越Objective-C這一局面呢?
2016年3月,阿爾法圍棋與圍棋世界冠軍、職業九段棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝,這足以令人們意識到「人工智能」再也不是概念,解決一些此領域的問題,不免須要對數據作統計,運用機器學習的算法解決問題,R語言作爲優秀開源的統計工具,也是在這一時期內用戶量波動攀升的緣由。一樣Python中大量的科學計算包,也使得用戶量一度緊逼Java,Python有可能超越Java嗎?別急,時間會告訴咱們答案。
2018年2月到5月,使用Python語言的人數不斷增多,大有遇上Java的趨勢。
Python開發者佔比比較多的依次是美國、印度、中國(2017年的調查數據,僅供參考)
而到了2018年8月的時候已經成爲用戶量最多的編程語言。
Python在不少領域都能紮根,如:Web開發、金融、運維、機器學習、AI等,歷來沒有一個語言能涉及如此多的領域,其餘因素包括:
Python如此受廣大開發者歡迎,那麼具體Python開發者的薪酬有多少呢?會不會很誘人呢?
到了2019年,美國哪一個州Python程序員工資最高呢?daxx網站大起底,以下圖所示:
研究顯示:
有一個大趨勢代表專門研究稀有技術的開發人員比那些知識更普遍的語言的人提供更多的工資,是否是相比Python,其餘偏冷門的編程語言工資更高呢?事實並不是如此,下面兩個圖表告訴你答案,Python是一個例外。
根據Gooroo的說法,Python開發人員的平均工資是每一年110,021美圓,這使得Python成爲該國第三大收入最高的編程語言,只有Java和Ruby領先。
以上從2004年到2018年,回顧了15年來各大語言的沉浮史,下面將對這些變化作總結,以古爲鏡,能夠知興廢。
正如《琅琊榜》中的詩句所言:「遙映人間冰雪樣,暗香幽浮曲臨江,遍識天下英雄路,俯首江左有梅郎。」時勢造就英雄,現今AI有Python。
相關報道:
做者:寧靜
本文轉載自:大數據文摘