JavaScript 穩居第一、C# 連續下跌,調查 17000 名程式設計師後有了這些新發現!

CSDN資訊發表於2020-11-03

整理 | 鄭麗媛
責編 | 屠敏

近日,SlashData在對全球17000多名開發人員進行了調查後,正式釋出了2020年第三季度的《開發者報告》(第 19 版)。

SlashData表示,本次調查基於兩項資料。一是對全球軟體開發者人數的預估,根據在2017年首次公佈的這一資料,SlashData估計到2020年中期,全球有2130萬活躍的軟體開發者。其次,SlashData每六個月就會對成千上萬的開發者進行大規模、低偏差的調查,詢問開發人員在十大開發領域使用程式語言的情況。

根據SlashData調查報告顯示,JavaScript 依然是最受歡迎的程式語言,而C#雖然也在吸引更多的開發者使用,但其增長勢頭越來越慢,已跌至第6位。

JavaScript三年維持第一,C#呈下跌趨勢

調查報告指出,JavaScript(包括 CoffeeScript 和微軟的 TypeScript)蟬聯了3年最受歡迎程式語言榜的1位,在全球擁有高達1240萬的使用者,並且這個數量還在不斷增長。從2017年第二季度到2020年第三季度,有近500萬開發者加入了JavaScript,這是迄今為止所有語言中絕對增長率最高的(絕對增長率:指第二年的種群數量和第一年的差與所用時間之比)。

近年來,在很多技術系統中都開始採用JavaScript。

JavaScript不僅可以搭配HTML5和CCS來構建Web前端,在移動應用中也經常見到它的身影,甚至在後端開發領域,也可以通過Node.js伺服器發揮作用。即使在統計中顯示最少使用JavaScript的軟體領域,如資料科學或AR/VR,也有超過五分之一的開發者在其專案中使用JavaScript。

因此,JavaScript飛速發展,新的庫、框架層出不窮,容易學習與執行,程式設計新手都可以用JavaScript做一些簡單的專案。

最受歡迎程式語言的第2位是擁有900萬使用者的Python。Python在過去一年就新增了220萬名開發者,排名也在2020年初再次超越了Java。資料科學和機器學習(ML)的興起是Python流行的一個重要因素,目前有將近77%的ML開發人員和資料科學家選擇使用Python,只有22%的人使用另一種通常與資料科學相關的語言——R。

其次是在全球擁有逾800萬活躍使用者的Java,是移動應用生態系統——Android的基石,也是最重要的通用語言之一。在過去的六個月裡,Java的使用率基本保持穩定不變,可從總體上看,自2017年中期以來,Java已經增加了近160萬名使用者,相當於24%的增長。

在這裡插入圖片描述

緊接著就是分別位於第4、5、6位的C/C++、PHP、C#。與C/C++流行度的大幅提升並穩定保持不同,C#的增長較慢,並在近三年連續下跌了3個名次。C和C++仍然是物聯網專案的核心語言(用於裝置和應用程式級別的編碼),而PHP也依然是Web應用程式中僅次於JavaScript的第二大常用語言。相反,C#雖在遊戲和AR/VR開發者生態系統中還是很受歡迎,但可能是由於出現了基於web技術的跨平臺工具,C#正在失去它在桌面開發中的優勢。

另外,值得一提的是,谷歌認可的Android開發首選語言Kotlin與近年來蘋果平臺用得最多的開發語言Swift。

Kotlin是增長最快的語言之一,自2017年底以來,其規模增長了兩倍多,從2017年第四季度的110萬增至2020年第三季度的230萬。這一點從Kotlin的排名中也很明顯,在此期間它從第11位上升到了第9位。而Swift今年的人氣超過了Kotlin。

最後,自從Swift逐漸取代Objective C,成為蘋果所有平臺上使用最多的開發語言以來,Objective C的使用率和排名一直在下降,從第9位跌至第12位。

其他相對小眾的程式語言,Go、Ruby、Rust和Lua擁有80萬到150萬的活躍使用者,排名保持較為穩定。

容器(Containers)是後端開發最喜歡的雲技術

SlashData還調查了雲技術在開發者中的使用現狀。據分析,容器是後端開發人員最喜歡的雲技術,使用率在60%,而大約 57% 使用容器化應用程式的後端開發者都會選擇 Kubernetes。排在第2位的是資料庫即服務(DBaaS),45%的雲開發人員使用這種技術。有大概三分之一的後端開發人員選擇使用雲平臺即服務(PaaS),32%的使用率使其位列第3。

在這裡插入圖片描述

經調查,開發人員在決定採用某一種雲技術時,除了編配工具外,會主要考慮定價和支援/文件這兩個重要因素。對於採用編配工具的開發者來說,支援/文件依然是首要考慮因素,但此時價格的高低對他們的影響就沒有那麼大了。而在拒絕使用雲技術的開發人員中,不論是從事資料庫即服務、雲平臺即服務,還是虛擬機器基礎架構即服務等方面,高昂的價格都是阻礙他們採用雲技術的首要因素。

使用DevOps卻不自知

在DevOps的使用方面,SlashData經過調查,有趣地發現:絕大多數專業開發人員(82%)都參與過DevOps,但並不一定認為自己是DevOps從業者。只有五分之一的開發人員在被明確問及在哪幾個新興領域工作時,會回答他們在從事DevOps方面的工作。

雖然超過半數(52%)的開發人員會使用持續整合(CI)或持續交付或部署(CD)來簡化部分工作流,但只有25%的開發人員會同時使用這兩種方法將從程式碼修改到生產部署之間的所有步驟自動化。事實證明,開發人員仍然對完全自動化的CI/CD管道持懷疑態度。這一點在調查中體現得很明顯:他們中有近40%的人還是選擇手動為程式碼部署。

開發者在開源中看重什麼?

對於開發人員在開源中所看重的特性,SlashData分析得知:92%的開發者會使用開源軟體(OSS),而開發人員對OSS所看重的主要是其永恆能力與社群的協作和互動,一句話概括為“為了與社群協作,構建出比發起者更持久的軟體”。專業和企業開發人員使用OSS看重的是:使用OSS會比使用閉原始碼軟體所涉及的總體費用低很多,以及大程度減少了在閉源環境下的侷限性。而非企業開發人員則更在意使用OSS的衍生產品和除錯。

不過與其他人相比,不使用OSS中的非專業開發人員所佔比例更大。因此,想要真正感受OSS的好處,可能需要以一個專業開發者的身份去對待它。

完整報告下載地址:https://slashdata-website-cms.s3.amazonaws.com/sample_reports/y7fzAZ8e5XuKCL1Q.pdf

相關文章