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

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

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

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

評(píng)論