Jetbrains發布2019開發者生態報告:Java主流,Go有前途
近日,Jetbrains 發布了《2019 年開發人員生態系統現狀》報告。報告顯示:Java 是***的主要編程語言,JavaScript 是最常用的整體編程語言,Go 是最有前途的編程語言,Python 是學習最多的編程語言。該報告涉及約 7000 名開發人員在編程語言、開發項目、移動設備與工具使用等方面的數據。其中,中高級職稱的受訪對象占 78%。以下是我們從報告中得出的主要結論:
編程語言



在過去一年里,***的編程語言是 Java 和 Python。其后是 C# 和 JavaScript,兩者不相仲伯。但如果結果按示例大小標準化,那么 C# 是***的語言。

有一些語言主要起“輔助”作用,包括 HTML、SQL 和 Shell 腳本語言。很多軟件開發人員練習過這些輔助語言,但很少有人將它們作為主要語言。例如,56% 的人練習過 SQL,但只有 19% 的人稱它為主要語言,僅 1.5% 的人將它作為***語言。從另一方面看,Java 是獨占鰲頭的語言,其用戶中有 44% 只使用或首先使用 Java。其后是 JavaScript,份額“僅有” 17%。
Java 是最主流的編程語言。雖然 Java 10 和 11 日趨流行,但 Java 8 仍是使用最多的版本,使用者占比高達 83%,其次是 Java 11 ,占比 22%。



JavaScript 是最常用的整體編程語言。58% 的受訪者使用 React 作為 JavaScript 框架,其次是 Express 、Vue.js 、React Native 等等。其中,Vue.js 的流行程度逐年增長。自去年以來,份額已達到 11%,幾乎是 2017 年的一倍。在編輯器方面,44% 的 JavaScript 開發人員經常使用 TypeScript。2019 年,1/4 的開發人員在使用它,而去年這一比例為 17%。



Go 是最有前途的編程語言。雖然 Go 是一種年輕的語言,但其用戶相對成熟,它的使用份額已從 2017 年的 8% 大幅躍升到今年的 18%,多達 13% 的開發人員愿意采用或遷移到 Go 語言。此外,多數人使用單個全局 GOPATH。在同時編輯多個項目的開發者中,甚至有 2/3 的人仍不傾向于每個項目使用一個 GOPATH。雖然最近才出現 Go 模塊,但 40% 的 Go 開發人員已經在使用它,還有 17% 的人希望遷移過來。
Python 是學習最多的語言。27% 的受訪對象在過去一年中開始或仍在持續學習 Python。在使用版本上,由于 9/10 的開發人員宣布將在 2019 年使用 Python 3,Python 2 正在迅速減少。去年仍有 1/4 的人使用 Python 2。而且,有趣的是,大多數 C++ 開發人員聲稱 Python 是其最喜歡的語言。Web 開發和數據科學家仍是 Python 開發的兩大主力。因為據稱 Python 是數據科學的***工具之一,所以涉及數據分析和機器學習的 Python 開發人員數量如此眾多毫不令人吃驚。數據分析比 Web 開發更受歡迎,機器學習則在今年超過 DevOps。除了 Python 以外,Django 和 Flask 目前仍是***的 Python web 框架。



移動設備與工具

2/3 的移動開發人員使用本地工具開發用于移動操作系統的應用,約 1/2 的開發人員使用跨平臺技術或框架,且 React Native 、Flutter、Cordova 的使用者較多。

89% 的開發人員在某種程度上自定義其 IDE。多數開發人員投入“暗黑”的陣營,83% 的人更喜歡暗色調主題的 IDE 編輯器。
數據庫
對大多數軟件開發者而言,其工作總會以這樣或那樣的方式涉及數據庫,但只有極少數從業者主要關注數據庫。報告顯示,56% 的受訪者表示自己使用 SQL,但只有 3% 專門將 SQL 作為主要語言。

在數據庫上,語言和數據庫的配合使用上存在一定偏好。 例如,20% 的 Scala 開發人員使用 Apache Cassandra,而 70% 的 C# 開發人員使用 MS SQL Server。 MongoDB 在 TypeScript 開發人員 (45%) 和 Go 開發人員 (41%) 中非常流行。9/10 的 PHP 開發人員使用 MySQL,而一半的人使用 MariaDB。最 “SQL 的”數據庫是 Oracle、MS SQL Server 和 ClickHouse,因為它們約 1/3 的用戶以 SQL 作為其主要語言。70% 的受訪對象對他們的數據庫表示滿意,不打算遷移或采用其他的。

連續兩年,人們可以看到,使用 MySQL Workbench(從 30% 降至 24%)、phpMyAdmin(從 27% 降至 21%)以及命令行(從 27% 降至 24%)來管理數據庫的受歡迎程度呈下降趨勢。
DevOps
關于開放運營,1/5 的受訪者都深入參與基礎架構開發。其中 15% 的從業者表示腳本語言 (bash / shell / powershell) 是其主要編程語言。

報告顯示,配置管理工具 Chef 和 Puppet 今年的市場份額差不多,但它們加起來占據的市場份額仍略低于 Ansible。在使用服務器模板工具的開發者中,90% 使用 Docker。使用 Docker 的調查對象中有 74% 也在使用 Docker compose。
最常用的工具集是 Docker + Terraform + Ansible。在組合使用基礎架構配置、服務器模板和配置管理的用戶中,有 27% 的人使用它們。但使用 Docker 的人數是其三倍(沒有配置管理,也不配置基礎設施)。

Kubernetes 使用情況飛速增長,在 2017 年 份額 16% 的基礎上增加了 13% 以上。

私有服務器仍略超過云服務器。但如果深入了解,人們會發現很多用戶兩者都使用。他們更傾向于將云服務器作為主要托管平臺。

關于“在哪里托管數據庫和 / 或服務和 / 或貴公司開發的應用程序”的答案,***名并不令人感到意外。Google Cloud Platform 的份額超過了 Kubernetes 用戶(一般是 41% 對比 28%),這意味著 Kubernetes 的增長可能會推動 GCP 的流行。