内容简介:在Stack Overflow,我们有志于使用我们的数据来分享有关全球软件开发社区的见解。最近发布的关于手机移动端开发者的帖子就是一个好例子:这篇帖文探索了世界各地访问 Android 相关问题的流量,发现低收入国家比高...
在Stack Overflow,我们有志于使用我们的数据来分享有关全球软件开发社区的见解。最近发布的关于手机移动端开发者的帖子就是一个好例子:这篇帖文探索了世界各地访问 Android 相关问题的流量,发现低收入国家比高收入国家更经常使用 Android 系统。
这篇帖子使我们想知道富国和穷国之间的编程技术有何不同,以及这会如何影响我们对全球软件开发行业的看法。在本文中,我们将探讨这些差异,并证明在软件开发行业中,将高收入国家和世界其他地区区分看待,是有益的。
本文中探讨的所有分析都是在2017年1月至8月期间展开的,我们选择了那段时间流量最高的250个标签进行研究。为了减少其他不必要的影响,我们只分析了在这段时间内至少贡献了500万次问题访问量的64个国家。值得注意的是,这些数据代表了那些了解英语的开发者们的活动。一些针对西班牙语和葡萄牙语网站的分析表明,类似的趋势同样出现在非英语国家,比如墨西哥和巴西。
科技与人均GDP相关
在最近的一篇文章中,我们看到关于Android问题的流量(占一个国家Stack Overflow访问量的百分比)往往与一个国家的人均GDP呈负相关。 这不禁让我们怀疑,其他标签是否也有这样的相关性。
当我们搜索主要的编程语言和平台时,除了Android之外,还有一些也比较突出,包括PHP,Python和R。
标签流量vs人均GDP
流向Android和 PHP 的流量数与一个国家的人均收入水平呈负相关,而Python和R的话题流量则与国家人均收入水平呈正相关。但无论哪种情况,我们都可以看到有一些例外(韩国使用Android的人数比我们预期的要多,中国则更多人使用Python),但通常情况下,相关性的呈现还是比较明显的。 (在调整并进行多次测试之后,每个R^2值都在0.5-0.6之间,p值<10^-6)。
在此有必要强调一下,我们并不是要指出这当中必然存在的因果关系;也不是说选择哪种编程语言会影响一个国家的平均收入;也不是说一个国家的财富水平直接影响他们对科技的使用。我们怀疑造成这些相关性的原因可能由各种经济和社会因素混合而成的(比如,教育水平,软件行业的发展时间,外包水平),总的来说,这些因素通常都与一个国家的财富相关联。
我们如何将软件开发行业分为两部分?
当我们研究这种趋势时,把国家分为两组:高收入国家和非高收入国家,而不是把所有国家混在一起考虑。国家的财富水平,作为一种既有分类,我们可以引用世界银行的资料数据。下图显示的是按人均GNI(国民总收入)为标准,各国呈现出的不同财富水平。
世界银行发布的各国收入分类地图
图中共有78个高收入经济体,除了美国、加拿大,还有一些西欧国家,部分中东和东亚国家,以及澳大利亚/新西兰。我已经做过一些关于国家间差异的基本原因分析(如主要成分分析),证明这是一个合理的划分方法,并且这种划分方法比其他划分方法更有意义,例如按国家的地理位置,如东半球与西半球来归类国家。 例如,来自澳大利亚的用户所访问的科技标签,通常更接近美国和欧洲的访问情况,而不是中国或印度尼西亚的。
根据收入分类,排行Stack Overflow的流量主要来自哪些国家
这种区分方法将Stack Overflow流量分为三分之二和另外三分之一:Stack Overflow上63.7%流量来自高收入国家。 这可能是由于高收入国家软件开发量占全球比例更大,更多人口能享受互联网,以及英语用户数量较多的缘故。来自非高收入国家的大部分流量来自印度,其次是巴西,俄罗斯和中国。
高收入国家在使用的技术上有何不同?
我们现在将软件开发世界分为两部分。 高收入国家和非高收入国家在技术使用方面有何不同?
高收入国家和低收入国家在访问技术标签上的差异
我们从图中可以得出几个有趣的见解:
数据科学技术上的差异:正如我们前面看到的,Python和R与一个国家的收入呈正相关。在高收入国家,Python标签的访问频率是世界其他地区的两倍,而R标签的访问量大约是其他国家的三倍。我们也可能会注意到,在比较小众的标签中,许多科学领域的重大转变是由Python语言和R语言编写的,例如Panda,numpy,matplotlib和ggplot2。这说明,高收入国家更多人使用这两种语言可能是因为在高收入国家,科学技术和学术研究更受到重视。这就能够解释,为什么在较富裕的工业化国家这两种语言更为常见。往往在高收入国家中,科学研究占经济的比重较大,同时,这些国家的 程序员 更有可能具备高学历。
C/C ++:C/C ++是另外两种著名的编程语言,受到高收入国家的青睐。一个假设是,这可能与教育有关:正如我们在之前的文章中能看到的,C和C++语言尤其受到美国各大学的青睐。当然,这也可能与电子行业和制造业的全球地理分布有关。
PHP和Android:在之前的文章中,我们探讨了全球的Android开发,Android系统在较低收入国家更受欢迎。PHP是一种受较低收入国家显青睐的语言。 CodeIgniter是一个PHP开源框架,这个技术标签在低收入国家的访问量最大,远远超过来自其他国家的访问量,是一个访问量地域分布极不平衡的标签。 进一步的检查表明,这个标签在南亚/东南亚地区(特别是印度,印度尼西亚,巴基斯坦和菲律宾)的访问量特别大,而来自美国和欧洲的访问量就很少。 可能许多外包公司,在构建网站的时候,就常常会选择CodeIgniter。
结论:为什么做这种研究很有必要?
我当然对这些结果十分感兴趣, 因为我认为它们展示了编程语言生态系统中有趣的事实。 它们也将对我们在不久的将来会发布的其他数据研究,产生影响。
当我们提出有关软件开发行业的问题时,重要的是我们要明白,我们其实是“混合”着回答了两个分开的问题,因为软件开发行业本身,就是依据国家的收入水平,一分为二的。
知晓将这个行业一分为二的原因,则会给我们提供更多的信息。
例如,我们通常有兴趣了解哪些技术标签可以带来最多流量,例如查看Flash技术标签的人随着时间推移,逐渐减少。 如果我们要创建一个拥有最多访问次数的编程技术清单,那么高收入和低收入国家的清单将会非常不同:
根据国家收入排名人们最常访问的编程技术标签
例如,截止到2017年,Python是高收入国家中访问次数第二高的技术标签,但在世界的其他地区,它的访问量排名只能排到第八位。我学习的语言,R语言,是高收入国家中访问量排名第15的标签,但它的访问量在世界其他地区甚至没有进入前50。
当我们使用Stack Overflow上的数据来了解开发者生态时,我们很有必要了解软件开发中两个不同的世界,这是一条很重要的背景知识,意味着一位对这个行业的未来非常感兴趣的美国技术招聘人员,一个不确定要学习什么编程语言的印度学生,和一名想要了解肯尼亚科技公司的投资者,他们对于各种编程语言的看法,可能都会非常不同。
在未来的文章中,我们有时会回顾这一划分,这将有助于我们继续探索全球开发者生态。
来源:36Kr
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上所述就是小编给大家介绍的《调查显示,富裕国家流行 Python 和 C 语言》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Go 语言 2018 调查报告发布
- Go 语言 2018 调查报告发布
- 调查 | 黑客将Python作为攻击编码语言的首选
- JetBrains 发布 2019 年 Go 语言调查报告
- 权威调查:十大的高级编程语言,开发人员必备!
- 调查称最受雇主欢迎的语言是 Go
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
企业应用架构模式
Martin Fowler / 王怀民、周斌 / 机械工业出版社 / 2010-4 / 59.00元
《企业应用架构模式》作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。《企业应用架构模式》获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。《企业应用架构模式》分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是《企业应用架构模式》的主体......一起来看看 《企业应用架构模式》 这本书的介绍吧!