写点什么

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

  • 2017-09-03
  • 本文字数:1324 字

    阅读完需:约 4 分钟

近日,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。

结论

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


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-09-03 19:003307
用户头像

发布了 322 篇内容, 共 142.7 次阅读, 收获喜欢 147 次。

关注

评论

发布
暂无评论
发现更多内容

自制操作系统

贾献华

【转载】如何在团队中做好Code Review?

北纬32°

C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介

Python名人堂

C# .net 算法 LeetCode

不要抱怨,也别憋屈

孙苏勇

职场 随笔杂谈

这个名字,你不能再读错了

小天同学

历史 科普

已发表的技术文章-大数据方面

绝影-大数据

技术工作中的颜值

N维空间的尘埃

要和竞争对手做比较吗?

邓瑞恒Ryan

创业 战略管理

短视频时代下的知识摄取

Neco.W

学习 知识管理 知识体系 短视频

docker19.03读取NVIDIA显卡

首富手记

Docker Dockerfile

如何在团队中做好Code Review

Ken

团队协作 代码审查 Code Review 代码质量

实战 Java8-CompletableFuture

子路无倦

Java 多线程 java8 CompletableFuture

怎么控制老板不断加需求?

kimmking

Java运算符实际运用

凌轩

Java 编程语言

关于用户体验的一些思考

AR7

android 产品开发

ARTS week 1

丽子

写给产品经理的信(2):产品设计能力怎样进阶

punkboy

产品 个人成长 产品经理 产品设计 进阶

谈谈控制感(10):怎么做一个靠谱的人

史方远

职场 心理 成长

Java开发工具与HelloWorld

编号94530

Java eclipse Hello World ! IDEA 开发工具

孩子,我们在睡前一起来阅读 15 分钟的好书,让彼此都带着好的故事入眠。

叶小鍵

正确阅读 托马斯·奥本 Doug Antin 蒂·泰德罗克

美国播客节目《指数视角》专访李飞飞:疫情、 AI 伦理、人才培养

神经星星

人工智能 程序员 李飞飞 硅谷 AI 伦理

我的时间管理之路(附工具集合及使用心得)

YoungZY

App 时间管理

ARTS打卡 第1周

引花眠

ARTS 打卡计划

重新开始,被自己搞砸的生活

小天同学

个人感想 日常思考

阿里的OceanBase上天了,但你还不会用Explain看SQL的查询计划吗?

Super~琪琪

MySQL 数据库 后台开发 后端

系统化服务构建-软件工程分层

图南日晟

微服务 软件工程 架构设计

世界那么大,你有偏见吗?

谢锐 | Frozen

创业 技术管理

我们都可能陷入经济困境

董一凡

生活

df 和 ls 命令执行夯主

首富手记

生产力

Flink 完美搭档:数据存储层上的 Pravega

Apache Flink

大数据 flink 流计算 实时计算

字符与编码

引花眠

计算机基础 utf-8

发达国家与发展中国家编程语言技术的分布差异性_语言 & 开发_薛命灯_InfoQ精选文章