作為全球知名的開發(fā)者社區(qū) GitHub,包括了 Google、Facebook、微軟等眾多技術(shù)巨頭都會(huì)在這里安營扎寨,而每年 GitHub 都會(huì)發(fā)布一份Octoverse 報(bào)告,該報(bào)告總結(jié)了 GitHub 和開源社區(qū)的一些趨勢和內(nèi)部消息,以及來自 GitHub 數(shù)據(jù)科學(xué)團(tuán)隊(duì)的更多資料。
在 GitHub 上,每項(xiàng)技術(shù)的核心都是編程語言。今年的Octoverse報(bào)告(https://octoverse.github.com/projects)中,我們對(duì) GitHub 上的編程語言的出鏡率和趨勢做了一個(gè)簡單的分析。本文將深入分析最熱門語言流行的原因和應(yīng)用。
衡量編程語言的流行度有很多種途徑。在這份報(bào)告中我們采用了公開和私有代碼倉庫中的主要語言的獨(dú)立貢獻(xiàn)者的數(shù)量。另外,我們還采用了主要語言的代碼倉庫的創(chuàng)建數(shù)量。
2008~2018 年編程語言排行榜,根據(jù)代碼倉庫創(chuàng)建數(shù)量排名
如今,使用 Java 創(chuàng)建的代碼倉庫超過了任何其他語言。過去十年內(nèi) JavaScript 創(chuàng)建的代碼倉庫數(shù)量穩(wěn)定上升,從上圖可以看出從 2011 年之后就有了穩(wěn)定的上升趨勢。在這個(gè)時(shí)間點(diǎn),GitHub 的總代碼倉庫數(shù)量將近 100 萬,而新的 JavaScript 服務(wù)器(如 2009 年發(fā)布的 Node.js)使得開發(fā)者可以在客戶端和服務(wù)器開發(fā)中使用同一種語言。
編程語言排行榜,根據(jù) 2018 年 9 月 30 日時(shí)的貢獻(xiàn)者數(shù)量排名
JavaScript 也是公開和私有代碼倉庫中擁有貢獻(xiàn)者最多的語言。在世界上任何地方、任何大小組織中都是這樣。但是,我們也看到了 GitHub 上新興語言的成長。TypeScript 去年在所有區(qū)域的公開、私有和開源代碼倉庫中進(jìn)入了前十名。而像 DefinitelyTyped(https://github.com/DefinitelyTyped/DefinitelyTyped)之類的項(xiàng)目能幫助人們在 TypeScript 中使用普通的 JavaScript 庫,促進(jìn)了 TypeScript 的接受程度。
我們也注意到一些語言的流行度在下降。Ruby 在過去幾年的流行程度一直在下降。盡管 Ruby 的貢獻(xiàn)者人數(shù)依然在上升,但 JavaScript、Python 等其他語言增長得更快。新的項(xiàng)目很少用 Ruby 寫,特別是個(gè)人或小型組織的項(xiàng)目,這些項(xiàng)目更傾向于使用 JavaScript、Java 或 Python。
按照地理位置劃分的流行程度,根據(jù) 2018 年 9 月 30 日時(shí)的貢獻(xiàn)者數(shù)量排名
在過去 12 個(gè)月中,我們并沒有看到不同區(qū)域中的語言使用情況有多少不同。但是,TypeScript 在南美和非洲的排名要高于在北美和歐洲的排名。原因可能是非洲和南美的開發(fā)者社區(qū)相對(duì)較新。去年非洲和南美的代碼倉庫平均要比北美和歐洲的代碼倉庫更年輕。這也許意味著開發(fā)者們更傾向于較新的開發(fā)技術(shù)。
增長最快的語言排行榜,根據(jù) 2018 年 9 月 30 日時(shí)的貢獻(xiàn)者數(shù)量排名
許多大公司的項(xiàng)目都在使用 PowerShell,使得它排名上升。類似地,Go 也因?yàn)榇笮徒M織而進(jìn)入了排名,而且在各種類型的代碼倉庫中都有增長,今年它在開源代碼倉庫中排名第九。我們也看到,趨勢在朝著靜態(tài)類型的方向發(fā)展,以增強(qiáng)類型安全性和互操作性。其中 Kotlin、TypeScript 和 Rust 增長最快。
2018 年為什么是這些編程語言流行?
那么,2018 年編程語言流行的原因是什么?下面是我們的觀點(diǎn)。
類型安全
除了 Python 之外,我們看到了靜態(tài)類型的崛起,很可能是因?yàn)樗転閭€(gè)人開發(fā)者和大型應(yīng)用的開發(fā)團(tuán)隊(duì)帶來安全性和效率。TypeScript 的可選靜態(tài)類型增加了安全性,而 Kotlin 能提供巨大的交互性,同時(shí)還允許創(chuàng)建可信的類型安全的程序。
互操作性
TypeScript 在榜單中上升的部分原因是它能與 JavaScript 共存。Rust 和 Kotlin 也在上升榜中,兩者分別吸引了 C 和 Java 的使用者。Python 的靈活性和互操作性也十分出色,比如開發(fā)者可以直接從 Swift 中調(diào)用 Python API(https://github.com/tensorflow/swift/blob/master/docs/DesignOverview.md#python-interoperability)。
互操作性不僅意味著語言可以建立在已有的社區(qū)上,還意味著語言可以與不同的社區(qū)融合并超越。比如,Kotlin 去年被認(rèn)為是 Android 平臺(tái)上的首選。
開源
當(dāng)然,這些語言都是開源項(xiàng)目,且都在 GitHub 上維護(hù)。社區(qū)負(fù)責(zé)為 Kotlin 等新語言進(jìn)行改進(jìn)、回答問題并提供資源,幫助開發(fā)者選擇這些語言,并在 2018 年以后繼續(xù)使用這些語言。
-
JAVA
+關(guān)注
關(guān)注
20文章
2992瀏覽量
114863 -
編程語言
+關(guān)注
關(guān)注
10文章
1957瀏覽量
38404 -
開源代碼
+關(guān)注
關(guān)注
0文章
41瀏覽量
3390
原文標(biāo)題:JavaScript憑借什么力壓 Java、Python,橫掃編程語言榜單?
文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
深入分析LED電源損壞原因
12種最熱門的開源項(xiàng)目,你都知道哪些?
Xilinx_FPGA_內(nèi)部結(jié)構(gòu)深入分析
深入分析Windows和Linux動(dòng)態(tài)庫應(yīng)用異同
筆記本的結(jié)構(gòu)深入分析
如何深入分析電源電路技巧(二):駕馭噪聲電源

2017年最熱門八大鋰電新材料
了解多線程并深入分析CreateThread與_beginthreadex本質(zhì)區(qū)別

(轉(zhuǎn))深入分析STM32單片機(jī)的RAM和FLASH

深入分析:大帶寬競爭形勢下同軸接入網(wǎng)的價(jià)值

評(píng)論