JS、Java、C 依然強勢,Go、Kotlin、Python 成為潛力股,2020 開發者生態系統報告揭曉!

編譯 | 屠敏

一切過往,皆為序章。

2019 年,走出舒適區的技術圈迎來消費互聯網向產業互聯網的轉型,也開始了數字智能化的進一步升級,而在此之下,作為這個時代浪潮中最為敏感的開發者,又需要完成哪些自我演進?

近日,知名軟件開發公司 JetBrains 從工具、技術、編程語言等維度出發,在調研了全球 18 個國家/地區的 19,696 名開發者後,帶來了全新的《2020 開發者生態系統現狀》報告,旨在幫助更多的同行者快速瞭解最新的行業趨勢。

百家爭鳴的編程語言,開發者該從何處考量入手?

通過該報告,我們發現,數百種編程語言中,雖然各有千秋,但是在一定的時期內,主流的編程語言僅佔少數。

隨着每年新興的領域、技術不斷迭代,編程語言的使用率由此也發生了一定的變化。

下圖中橙色所代表的是過去 12 個月間常用的編程語言佔比,深灰色所表示的是計劃採用/遷移:

在過去一年間,JavaScript 的使用率最高,70% 的開發者選擇使用該語言。不過,值得注意的是,在主流的編程語言行列,JavaScript 雖然最為常用,但是想要做遷移的開發者佔比最高,其中 16% 的開發者計劃遷移並轉而採用 Go 語言。

反觀在 Go 開發羣體中,沒有采用/遷移其他編程語言的用户高達 59%,穩定性最強。

Web(後端)——最受歡迎的平台

要問哪種類型的開發最受歡迎?從官方統計的數據來看,後端、前端開發處於第一梯隊,最為熱門;桌面、移動、服務器/基礎架構在第二梯隊。

網站——開發者最常使用的應用程序類型

54% 的開發者表示,當前主要從事網站類型的開發,其次,實用工具、數據庫/數據存儲、系統軟件等類型也較為火熱。相對而言,仍在發展中的區塊鏈、AR/VR 開發佔比較少。

不同類型的開發所使用的語言也有所不同,比如網站開發中,JavaScript、PHP、TypeScript 最為實用。數據庫/數據存儲方面,SQL 有着獨特的優勢。

接下來,我們將從新老編程語言的碰撞中,一探其工具層的應用與發展。

老牌軍——JavaScript、Java、C

JavaScript——最常用的編程語言

如果有開發者關注 、 的生態報告,那麼不難發現,JavaScript 已經連續多年榮獲「最常用編程語言」的稱號,究其原因,不僅因為它的保持着高效的更新,JavaScript 也囊括了許多編程語言庫,幫助開發者更好地上手。

除此之外,JetBrains 官方還對 Typescript 給予了肯定,表示 2017 年,Typescript 由 12% 的開發者使用,並作為 1% 開發者的主要語言,2020 年,這兩個數字分別為 28% 和 12%,如今正處於穩步增長中。

常用的 JavaScript 框架

在 JavaScript 框架中,React 以 64% 的使用率成為最受歡迎的框架。相較去年,它的份額上升了 10%。與此同時,知名的開源框架 Vue.js 份額下降了 7%,不過仍然位居第三位,雖落後於 Express 框架,但差距並不是很大。

Visual Studio Code 作為輕量級代碼編輯器,包含了豐富的插件,是 JavaScript 開發者最喜歡的工具。與之形成鮮明對比的是,素有“宇宙第一 IDE”之稱的 Visual Studio 在 JavaScript 中使用率僅有 3%。

84% 的 JavaScript 開發者在工作中使用模塊加載程序。76% 的受訪者表示使用 Webpack。

此外,CSS 樣式表語言是 JavaScript 開發者最青睞的選擇,而在 TypeScript 開發者中,最受歡迎的則是 SCSS 方式,所佔份額為 59%。

Java——最流行的重要編程語言

以每半年更新一次的 Java,早已讓其後面追逐的開發者“累不覺愛”。不過,從官方數據統計顯示,Java 8 歷經多年,仍然是最受歡迎的,75% 的 Java 開發者在使用這一版本。不過,隨着時間的推移,Java 8 每年的使用率正在遞減。

而後來者們正在逐步居上,在這之中,份額有所上漲的還有另一個長期版本 Java 11,與去年相比,Java 11 的使用份額增長了 10%。不過,後更新的 Java 12、Java 13 也在憑藉最新的特性等優勢爭奪用户。

在應用程序服務器方面,Apache Tomcat 佔據主導地位,不過它的份額相較去年稍有所下降。不過,也有 26% 的 Java 開發者在開發過程中沒有使用應用程序服務器。

與此同時,63% 的開發者表示使用 Spring Boot 框架可以直接取代應用服務器。而它也是 Java 最喜愛的 Web 框架。

據 JetBrains 官方數據統計,75% 的 Java 開發者在其項目中使用單元測試。JUnit (83%) 和 Mockito (43%) 仍是最受歡迎的解決方案。

作為 JetBrains 打造的產品, IntelliJ IDEA 被視為當前 Java 開發效率最快的 IDE 工具,這也是為什麼它能成俘獲七成開發者關注的主要原因。

對於 Java 開發者而言,36% 的受訪者表示正在使用 Java 開發網站,其次也會用它來開發實用工具、系統軟件、數據庫/數據存儲等產品。

C 語言或將再次迎來機遇

在此,將老牌軍 C 語言單獨列出來,不僅是因為在另一大編程語言排行榜 TIOBE 中,C 時隔 5 年,再度超越 Java,重回大眾視野,而且在新基建數字智能化經濟到來之際,無論是小型的智能設備,還是大型硬件的嵌入式開發,C 將再次被廣泛應用,因此 C 當前的現狀也尤為值得關注。

在本次調查中,C 語言的標準仍以 2000 年 ANSI 採納的 ISO/IEC 9899:1999 標準,即 C99 為主,佔比 52%。不過,對此,JetBrains 官方表示 C11 標準的採用率雖然下降,但預計 C11 未來三年將上升到第一位。當前它仍位於嵌入式開發(家庭自動化和其他硬件)榜單的頂部,佔據 47% 的份額。

編輯器層面,在 Vi/Vim 領先多年後,VS Code 上升到第一位。不過,在嵌入式開發領域,Vi/Vim 仍高居第二位。CLion 的份額也在快速增長。

46% 的受訪者表示,在使用 C 語言開發時不編寫單元測試。

Go、Kotlin、Python 為何會成為開發者最想要採用的三大語言?

與此同時,值得關注的是,過去一年中,Python 熱度超越了 Java,成為開發者上手的熱門語言之一。除了有 55% 的開發者正在使用 Python 之外,有 9% 的受訪者表示計劃採用/遷移到 Python。當然除了 Python,13% 的受訪者表示計劃採用或將遷移到 Google 開發的 Go 語言,也有 10% 的開發者想要使用 Kotlin。

勢頭迅猛的 Python

在人工智能、大數據等技術迅猛發展的今天,Python 的崛起速度其實遠超乎很多開發者的想象。很多人認為學習 Python 主要可以解決數據性問題,其實不然。據調查報告顯示,近五成的 Python 開發者將 Python 用於 Web 開發,其次才是數據分析,再者是機器學習領域。

在版本方面,今年 4 月,其官方發佈了 Python 2 最後一個版本,這也意味着 Python 2 時代徹底結束。據 2017 年數據顯示,44% 的受訪者在使用 Python 2,如今隨着 Python 2 不再維護,很多人選擇升級或遷移,如今留守 Python 2 版本的用户僅剩下了 7%。

不過,據報告調查顯示,Python 2 最常見的用例是系統管理員和基礎結構配置 (DevOps),兩者的總份額達到 40%,Web 開發的份額為 35%。

在數據科學領域,很多開發者除了使用 Python 之外,也會用如 NumPy、Pandas 等主流的數據科學框架用以輔助。

另外,據官方調查顯示,與總體開發者相比,Python 開發者更可能參與學術研究 (24%),這一數字在總體開發者中的比例為 14%。

與其他編程語言的應用有所不同,在所有開發者中,Python 開發者更傾向於將 Linux 作為其開發環境。在 JetBrains 調查中發現,有 64% 的 Python 開發者更喜歡使用 Linux,相比之下,更喜歡 Linux 的總體開發者比例約為 50%。這使 Linux 在 Python 開發者中成為最受歡迎的操作系統,但 Windows 整體上仍是領先的操作系統。

採用操作系統的開發者整體比例

另外,Python 開發者最常用的編輯器是 PyCharm Professional 版本。

Go 最受歡迎的編程語言

據調查報告顯示,大多數 Go 開發者將 Go 語言用於工作 (63%)。在工作中使用 Go 的開發者比例每年都在上升。其次,也有 28% 的開發者處於個人/編外項目原因正在使用 Go。

71% 的 Go 開發者開發微服務,這使 Go 成為此領域第二受歡迎的語言,僅次於 Scala。

另外,Go 的三個最常見用例是網站、實用程序和 IT 基礎架構。

對此,JetBrains 官方解析道,DevOps 和基礎結構開發是 Go 最受歡迎的用例。因此,80% 的 Go 開發者參與這些活動和 36% 的人將其視為主要職責也就不足為奇了,相比之下,只有 57% 的總體開發者將自己與基礎結構開發相關聯。Go 開發者是重度 Docker 用户。84% 的人表示使用此工具,比總體開發者中的 Docker 用户百分比高 20 個百分點。

用 Java 的開發者同樣喜歡 Kotlin

如今距離 Google 宣佈將 Kotlin 作為 Android 開發的首選語言已經過去了 3 年的時間,時下,大多數 Kotlin 開發者仍以 Android 或 JVM 為目標。Kotlin 提供了以 JavaScript 為目標和執行原生開發的功能,但以這些平台為目標的開發者人數相對較少。

不過,Kotlin 可以用於移動、Web、服務器端、桌面,甚至嵌入式系統開發。得益於其代碼共享機制,開發者可以輕鬆創建多平台庫和在多個平台上運行的應用程序。

和 Java 的版本選擇有些類似,Kotlin 開發者中有 73% 的人選擇了 JDK 8。JDK 11 的使用率雖然排名第二,不過在過去一年間,它的份額幾乎翻了一番。

據調查報告顯示,幾乎所有的 Kotlin 開發者 (92%) 在使用 Kotlin 前使用過 Java。其中大多數(90% 的 Kotlin 用户)仍在繼續使用 Java。這也意味着,Kotlin 最初被外界猜測想要取代 Java 的願景並不太容易實現,而相比 Java,Kotlin 也有自己獨特的優勢。

開源之路,任重而道遠

整體而言,在日益更新的技術環境之下,編程語言作為一種開發工具,每種都有各自擅長的領域,開發者如何選擇,與自身工作的屬性有很大的相關性。

除了以上,開源作為一種協作、共享的方式,已成為很多企業和開發者的選擇。但是據調查顯示,佔比最高且有 44% 的開發者並沒有參加過開源,但是願意嘗試。20% 的受訪者稱,僅貢獻過幾次。這意味着開源的普及與推進並非一朝可以實現,它也需要更多的開發者參與其中。

版權聲明:本文源自 網絡, 於,由 楠木軒 整理發佈,共 4597 字。

轉載請註明: JS、Java、C 依然強勢,Go、Kotlin、Python 成為潛力股,2020 開發者生態系統報告揭曉! - 楠木軒