发达国家与发展中国家编程语言技术的分布差异性
近日,Stack Overflow在官方博客上發(fā)布了一組統(tǒng)計(jì)數(shù)據(jù),表明發(fā)達(dá)國家與發(fā)展中國家在編程語言技術(shù)的采用上存在較大的差異。Stack Overflow對(duì)2017年1月至8月期間的訪問數(shù)據(jù)進(jìn)行了分析,選取了64個(gè)技術(shù)標(biāo)簽,每個(gè)標(biāo)簽所包含問題的訪問次數(shù)均超過500萬。以下是具體的分析和結(jié)論。
技術(shù)與GDP的關(guān)系
從圖中可以看出,Android和PHP相關(guān)問題的訪問量與一個(gè)國家的GDP是負(fù)相關(guān)的,也就是說國家收入越高,訪問Android和PHP相關(guān)問題的人數(shù)就越少,國家收入越低則訪問量越高。而Python和R語言則與GDP正相關(guān),國家收入越高,訪問這兩門編程語言相關(guān)問題的人數(shù)就越多。雖然也有些例外(比如韓國對(duì)Android問題的訪問量高于預(yù)期,中國對(duì)Python問題的訪問量也高于預(yù)期),但這兩種相關(guān)性基本上還是比較準(zhǔn)確的。
不過要注意的是,雖然技術(shù)與GDP存在相關(guān)性,但它們之間不存在絕對(duì)的因果關(guān)系。一個(gè)國家的收入會(huì)直接影響他們所采用的技術(shù),但采用何種技術(shù)并不會(huì)反過來影響到國家的收入。
將軟件開發(fā)行業(yè)一分為二
如果按照世界銀行收入(也就是基于國民總收入)對(duì)國家進(jìn)行分類,可以得到如下的結(jié)果。
其中有78個(gè)高收入國家,主要包括美國、加拿大、西歐、中東和東亞的部分國家,以及澳大利亞和新西蘭。按照國家收入將軟件開發(fā)行業(yè)分為高收入國家和低收入國家比按照地理位置(如東半球和西半球)來分類顯得更有意義。
從圖中可以看出,高收入國家的訪問流量占到了三分之二(63.7%),這有可能是因?yàn)檐浖_發(fā)在這些國家占了更大的比例、互聯(lián)網(wǎng)訪問更加普遍和自由、有更多懂英語的人。低收入國家的訪問流量主要來自巴西、俄羅斯和中國。
高收入國家和低收入國家在技術(shù)采用上的差異
數(shù)據(jù)科學(xué)技術(shù)的差異:之前已經(jīng)提到,Python和R語言與國家收入是正相關(guān)的。高收入國家對(duì)Python相關(guān)問題的訪問量是低收入國家的兩倍,而R語言是三倍。值得注意的是,基于Python和R語言的軟件包,如pandas、numpy、matplotlib和ggplot2等,它們也有比較高的訪問量。這表明,在高收入國家,科學(xué)研究已經(jīng)成為經(jīng)濟(jì)的重要組成部分,而且程序員可能擁有更高的學(xué)歷。
C和C++:這兩門語言的相關(guān)問題在高收入國家也有較高的訪問量。這可能與這些國家的教育有關(guān)系,有數(shù)據(jù)顯示,這些流量大部分來自美國高校。
PHP和Android:?PHP和Android與國家收入是負(fù)相關(guān)的。以CodeIgniter為例,CodeIgniter是一款開源的PHP開發(fā)框架,它的訪問流量很大一部分來自低收入國家,特別是南亞地區(qū)(比如印度、印尼、巴基斯坦和菲律賓),這有可能是因?yàn)楹芏嗤獍径荚谑褂肅odeIgniter來構(gòu)建網(wǎng)站。
編程語言受歡迎程度的差異
從圖中可以看到,在2017年,Python的訪問量在高收入國家中位居第二,而在低收入國家中僅排在第8位。R語言在高收入國家中排在第15位,而在低收入國家中已經(jīng)跌出了前50。
結(jié)論
這種分析對(duì)于了解開發(fā)者生態(tài)系統(tǒng)來說是非常有用的。一個(gè)美國的技術(shù)招聘者、一個(gè)打算學(xué)習(xí)編程語言的印度學(xué)生和一個(gè)肯尼亞的技術(shù)投資者,他們需要從這里獲得不一樣的信息。
原文地址:http://www.infoq.com/cn/news/2017/09/difference-language-developed-de
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的发达国家与发展中国家编程语言技术的分布差异性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Orleans解决并发之痛(三):集群
- 下一篇: ASP.NET Core 运行原理解剖[