发达国家与发展中国家编程语言技术的分布差异性

近日,Stack Overflow在官方博客上发布了一组统计数据,表明发达国家与发展中国家在编程语言技术的采用上存在较大的差异。Stack Overflow对2017年1月至8月期间的访问数据进行了分析,选取了64个技术标签,每个标签所包含问题的访问次数均超过500万。以下是具体的分析和结论。

技术与GDP的关系

从图中可以看出,Android和PHP相关问题的访问量与一个国家的GDP是负相关的,也就是说国家收入越高,访问Android和PHP相关问题的人数就越少,国家收入越低则访问量越高。而Python和R语言则与GDP正相关,国家收入越高,访问这两门编程语言相关问题的人数就越多。虽然也有些例外(比如韩国对Android问题的访问量高于预期,中国对Python问题的访问量也高于预期),但这两种相关性基本上还是比较准确的。

不过要注意的是,虽然技术与GDP存在相关性,但它们之间不存在绝对的因果关系。一个国家的收入会直接影响他们所采用的技术,但采用何种技术并不会反过来影响到国家的收入。

将软件开发行业一分为二

如果按照世界银行收入(也就是基于国民总收入)对国家进行分类,可以得到如下的结果。

其中有78个高收入国家,主要包括美国、加拿大、西欧、中东和东亚的部分国家,以及澳大利亚和新西兰。按照国家收入将软件开发行业分为高收入国家和低收入国家比按照地理位置(如东半球和西半球)来分类显得更有意义。

从图中可以看出,高收入国家的访问流量占到了三分之二(63.7%),这有可能是因为软件开发在这些国家占了更大的比例、互联网访问更加普遍和自由、有更多懂英语的人。低收入国家的访问流量主要来自巴西、俄罗斯和中国。

高收入国家和低收入国家在技术采用上的差异

  • 数据科学技术的差异:之前已经提到,Python和R语言与国家收入是正相关的。高收入国家对Python相关问题的访问量是低收入国家的两倍,而R语言是三倍。值得注意的是,基于Python和R语言的软件包,如pandas、numpy、matplotlib和ggplot2等,它们也有比较高的访问量。这表明,在高收入国家,科学研究已经成为经济的重要组成部分,而且程序员可能拥有更高的学历。

  • C和C++:这两门语言的相关问题在高收入国家也有较高的访问量。这可能与这些国家的教育有关系,有数据显示,这些流量大部分来自美国高校。

  • PHP和Android: PHP和Android与国家收入是负相关的。以CodeIgniter为例,CodeIgniter是一款开源的PHP开发框架,它的访问流量很大一部分来自低收入国家,特别是南亚地区(比如印度、印尼、巴基斯坦和菲律宾),这有可能是因为很多外包公司都在使用CodeIgniter来构建网站。

编程语言受欢迎程度的差异

从图中可以看到,在2017年,Python的访问量在高收入国家中位居第二,而在低收入国家中仅排在第8位。R语言在高收入国家中排在第15位,而在低收入国家中已经跌出了前50。

结论

这种分析对于了解开发者生态系统来说是非常有用的。一个美国的技术招聘者、一个打算学习编程语言的印度学生和一个肯尼亚的技术投资者,他们需要从这里获得不一样的信息。

原文地址:http://www.infoq.com/cn/news/2017/09/difference-language-developed-de


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

两个map中的数据,按照相同键,将所对应的值相加方法

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂”前言最近写代码的时候遇到了个需求,刚开始想的时候,感觉不难,挺简单的,结果写的时候,各种思考、各种费脑,耗费了点…

mybatis example处理and、or关系的方法

转载自 mybatis example处理and、or关系的方法 1.( xx and xx) or ( xx and xx) 实例代码: BaUserExample baUserExample new BaUserExample();Criteria criteria1 baUserExample.createCriteria(); criteria1.andOrgIdEqualTo("1"); criteria1.an…

P2580-于是他错误的点名开始了【Trie,字符串】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP2580 题目大意 给n个字符串&#xff0c;用m个字符串和他们匹配&#xff0c;分为错误匹配,重复匹配,正确匹配。 解题思路 裸的TrieTrie(字典树) code #include<cstdio> #include<cstring&g…

publiccms中将推荐页的内容显示在页面片段中

遍历的代码如下&#xff1a; <#list page.list><ul><#items as a><li><figure><!-- ${a.itemType!} : ${a.itemId!} ,place/redirect:count and 301 jump to a.url,place/click:count and 302 jump to a.url--><a href"${site.dyn…

ASP.NET Core 运行原理解剖[3]:Middleware-请求管道的构成

在 ASP.NET 中&#xff0c;我们知道&#xff0c;它有一个面向切面的请求管道&#xff0c;有19个主要的事件构成&#xff0c;能够让我们进行灵活的扩展。通常是在 web.config 中通过注册 HttpModule 来实现对请求管道事件监听&#xff0c;并通过 HttpHandler 进入到我们的应用程…

【ajax】readyState=4并且status=200时,还进error方法

转载自 【ajax】readyState4并且status200时&#xff0c;还进error方法 今天在使用jquery.ajax方法去调用后台方法时&#xff0c;ajax中得参数data类型是"JSON",后台DEBUG调试&#xff0c;运行正常&#xff0c;返回正常的结果集,但是前端一直都进到ajax的error方法…

publiccms实现首页菜单栏下拉的方法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 今天接到了个需求&#xff0c;使用publiccms实现首页导航栏下拉的效果&#xff0c;效果如下&#xff1a; 目前我的思路如下&#xff1a; 采用分类的方法实现将左侧的项作为二级分类右边…

P2922-[USACO08DEC]秘密消息Secret Message【Trie,字符串】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP2922 题目大意 给n个01串&#xff0c;用m个01串匹配&#xff0c;如果n是m的前缀或者m是n的前缀那么就算匹配成功&#xff0c;求每个串有多少个匹配成功。 解题思路 我们可以用Trie树&#xff0c;分为…

2017(深圳) .NET技术分享交流会(第二期)网络直播活动

.NET Core 2.0 已于2017年8月14日正式发布&#xff0c;2017(深圳) .NET技术分享交流会在公众号中发出2个小时后就被抢光了&#xff0c;受限于场地无法增加人数&#xff0c;这次如鹏网杨中科老师提供VIP级的网络直播支持&#xff0c;为了保证网络直播效果&#xff0c;另外开启网…

publiccms中,怎么修改默认的端口8080以及默认上下文名称

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 我用的部署方式是springboot的方式,所以修改端口和项目名的方法和tomcat的方法不一样&#xff0c;tomcat的话去改一下conf目录下面的serve.xml文件。 springboot的方式不需要&#xff0c…

JQuery AJAX请求结果的null为key时无法进入success方法

一、问题复现 后台&#xff1a; import java.util.*; Controller public class Test{RequestMapping("/get/loadInfo.do")ResponseBodypublic Result getLoadInfo(){Result resnew Result();Map map new HashMap();map.put(null,"one");map.put("a&…

洛谷UVA1328,POJ1961-Period【KMP,字符串】

正题 洛谷评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidUVA1328 POJ链接:http://poj.org/problem?id1961 题目大意 求一个字符串每个前缀的最短循环循环次数。 解题思路 计算next数组&#xff0c;然后直接计算循环节&#xff1a; 详见:POJ2752-Seek…

publiccms实现多层级选项卡效果

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 距离上次更新已经好久了~最近心有余而力不足。。 最近在学习freammarker标签&#xff0c;算是比较老的技术了&#xff0c;白天写&#xff0c;晚上做梦都在写&#xff0c;不吐槽了&am…

Java对象的引用类型

转载自 Java对象的引用类型 Java对象的引用类型有强引用&#xff0c;软引用&#xff0c;弱引用&#xff0c;虚引用和FinalReference,提供这几种引用类型的主要目的&#xff1a; 1.程序员可以通过不同的引用方式决定某些对象的生命周期&#xff1b; 2.利用JVM的垃圾回收机制&a…

“雪花”项目:Microsoft探索在.NET中实现手工内存管理

来自Microsoft研究院、剑桥大学和普林斯顿大学的一些研究人员构建了一个.NET的分支&#xff0c;实现了在运行时中添加支持手工内存管理的API。研究方法的细节及所获得的性能提升发表在名为“Project Snowflake: Non-blocking Safe Manual Memory Management in .NET”&#xff…

loj#10050-The XOR Largest Pair【Trie(字典树)】

正题 题目链接:https://loj.ac/problem/10050 题目大意 有n个数&#xff0c;求两个数使他们异或起来最大。 解题思路 我们考虑构建一个TrieTrie。 两个分叉为0,1&#xff0c;对于每个数二进制下不够30位我们将其补够30位&#xff0c;然后再根据二进制01构建TrieTrie。 然后…

publiccms按照指定显示的日期格式,格式化日期的写法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是2021年12月30日20:21:37&#xff0c;距离2021年结束仅仅不到2天的时间了&#xff0c;时间恍如白驹过隙&#xff01; 今天还是搞的publiccms,分享个简单的语法吧&#xff1a;在…

PL/SQL之JOB用法 (定时跑数据)

转载自 PL/SQL之JOB用法 (定时跑数据) 一、DBMS_Job包的用法 包含以下子过程&#xff1a; Broken()过程。 change()过程。 Interval()过程。 Isubmit()过程。 Next_Date()过程。 Remove()过程。 Run()过程。 Submit()过程。 …

Orleans解决并发之痛(四):Streams

Orleans 提供了 Stream扩展编程模型。此模型提供了一套API&#xff0c;使处理流更简单和更健壮。Stream默认提供了两种Provider&#xff0c;不同的流类型可能使用不同的Provider来处理&#xff0c;Simple Message Stream Provider 和 Azure Queue Stream Provider。Stream Prov…

POJ3764-The xor-longest Path【Trie(字典树)】

正题 POJ题目链接:http://poj.org/problem?id3764 其实loj也有题目:https://loj.ac/problem/10056 题目大意 一棵树&#xff0c;求两个点使他们的之间的边的异或值最大。 解题思路 我们可以先算出所以点离根的路上的边的异或值&#xff0c;记为didi&#xff0c;然后根据异…