IEEE 2018程式語言調查向我們揭示了什麼?

tianxiaoxu發表於2018-08-24

程式語言是所有現代技術的基礎,為了能夠和程式語言的更新保持同步,開發人員、技術愛好者都不得不“實時”更新自己的程式設計技能。為了幫助大家瞭解熱門的頂級程式語言以及他們使用語言的江湖地位,有很多網站都在做程式語言江湖排行榜,例如TIOBE、Redmonk、StackOverflow、IEEE spectrum等等。

其中,IEEE spectrum和StackOverflow每年都會做程式語言排名調查,而TIOBE是每月做一次,Redmonk是每半年做一次。IEEE spectrum和StackOverflow作為兩個年度調查的提供商,Stack Overflow調查了來自173個國家的56033名程式設計師,而IEEE spectrum的調查綜合了來自10個來源的排名:

  • Google search of “X programming”

  • Google Trends

  • Twitter

  • GitHub

  • StackOverflow

  • Reddit

  • Hacker News

  • CareerBuilder

  • Dice

  • IEEE Xplore Digital Library

IEEE spectrum通過聚合不同來源的統計資料,期望產生最可信的排名,同時他還提供個性化的排名,其互動式的頁面允許讀者根據搜尋趨勢、工作趨勢或開源社群趨勢來進行篩選,甚至使用者還可以修改每個維度的權重,從而實現極其個性化的排名。

下圖中我們列出了StackOverflow、Redmonk、TIOBE、IEEE spectrum和Packt Skill Up Survey

5家公司的調查結果,排在前10位的程式語言分別是:

從IEEE調查中,我們能看出什麼?

  • 排名前三的 Python:Python已經連續兩年在IEEE spectrum中名列前茅,它語法簡單,易於使用,但IEEE spectrum卻不是因為這個原因,才將Python排在前列的,更重要的原因是Python被列為嵌入式語言。

  • 發展神速的新生力量:Go語言從去年的第7位上升到今年的第5位,其速度、簡單性、可靠性、跨平臺能力、本機併發性、易於部署都使其成為了開發人員首選的雲本機語言,同時這也助力器成為了增長最快的程式語言。

  • 雷打不動的Java,C ++,C,C#:由於其廣泛的行業採用和成熟的社群,這些傳奇語言仍然位列前五。此外,許多專業開發人員多年來一直是這些語言的忠實使用者,並且很難遷移到其它新的程式語言上,這也使得這些語言能夠保持領先地位。

  • R語言真的在走下坡路:根據調查結果,R語言從6位下降到第7位了。R語言的下降與Python的普及有很大相關性,在資料統計和大資料方面,Python比R語言更靈活。

IEEE調查中,有哪些出人意料的地方?

  • Kotlin語言未包含在列表中:IEEE的調查列表中缺少了最近流行的Android開發程式語言 。在內部應用程式的開發中(控制檯應用程式,OpenGL應用程式,執行緒套接字伺服器等),很多程式設計師都在使用Kotlin,而不是Python和Java,而且Kotlin還簡化了從Python到Kotlin的程式碼移植。

  • IEEE列表中缺少許多有希望的語言:IEEE列表中缺少諸如Typescript、Dart之類的語言。Typescript是JavaScript的超集,缺少型別系統。Typescript的引入為Javascript新增了可選的靜態型別。同樣,Dart也是一種有用的語言,可用於編寫前端應用程式,易於使用,並且不存在學習曲線。

  • Matlab和組合語言保持其位置: Matlab用於科學計算和數學處理,於1984年首次釋出,是繼組合語言之後仍然保持在第11位的最古老的語言之一。Matlab廣泛用於學術和研究,因此永遠不會過時。同樣,組合語言是最古老的程式設計形式,它能排在第10位與開發人員有很大的關係,組合語言能夠在沒有編譯器的情況下,支援快速程式碼,並且是機器級程式設計的最佳選擇。

  • Javascript不在前5名:作為Web前端開發中的主要語言之一,JavaScript在IEEE列表中排在第8位。

對於IEEE調查,我們有哪些不認同?

  • PHP不應該前10位:雖然PHP是伺服器端程式設計最流行的語言之一,但是其他程式語言(如Python和Ruby on Rails)在與PHP相同的域中可以提供更加簡單、有用和強大的編碼語法和工具來與PHP競爭。

  • Ruby有更多的缺點:雖然Ruby是第一個用於前端和後端開發的全棧語言,但學習曲線陡峭。在Ruby上整合第三方庫很困難,鑑於目前市場上的多種選擇,Ruby很難保持其地位。

  • Swift正在從其位置上退出:Swift程式語言是Apple 為iOS、macOS、watchOS和tvOS 構建的。因為僅限Apple的開發環境,而開發人員正在轉向多平臺移動應用程式,如Microsoft的Xamarin,Apache Cordova和Ionic,這對Swift的使用者社群影響很大。

IEEE調查的侷限性

IEEE Spectrum 2018調查包括47種程式語言,雖然包含了最廣泛採用和最少採用的程式語言,但也沒有包含所有的程式語言,其列表中缺少當前流行的語言,如Kotlin,Dart,TypeScript,WebAssembly等。

IEEE Spectrum的另一個限制是,它在不同的瀏覽器上顯示出的結果完全不同。IEEE Spectrum的Stephen Cass表示:“我認為這是由於 不同瀏覽器中JQuery / JavaScript的實現方式的變化:TPL使用了大量的浮點數學,所以你看到的可能是由於精度差異導致的。而TPL的基礎程式碼有五年之久,所以我們無論怎樣檢修,結果肯定會受影響。”

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2212801/,如需轉載,請註明出處,否則將追究法律責任。

相關文章