在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

  • 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:003829
用户头像

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

关注

评论

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

为什么开发人员都不愿写 API 文档?

狐哥说技术

Postman Apifox 接口文档 接口管理

Java的内存区域是如何划分的?

卢卡多多

内存 Java内存模型 7月日更

为什么BAT的程序员能月薪 20k ,而你一个月只能拿 6K 的低保?差别就在这!

白亦杨

Java 编程 程序员

希望这是一篇让你对vim产生兴趣的文章

Jackpop

Python调试神器之PySnooper

Jackpop

在线XML转HTML工具

入门小站

工具

盘点Java线程池配置的常见误区,你中了几个?

北游学Java

Java 多线程

四色建模法

escray

学习 极客时间 7月日更 如何落地业务建模

注意:线程的执行顺序与你想象的可能不一样!

冰河

Java 程序员 并发编程 多线程 异步编程

好未来 x StarRocks:全新实时数仓实践,深入释放实时数据价值

StarRocks

数据库 flink 实时数仓 好未来 StarRocks

gopher成长之路(一):致三年前的我

非晓为骁

个人成长 架构师 全栈工程师 Go 语言 努力

🌏【架构师指南】分布式技术知识点总结(数据处理)

码界西柚

架构 数据 7月日更

挖掘机哪家强?不找蓝翔找AI!

脑极体

学习资源:图像处理从入门到精通

Jackpop

Linux之diff命令

入门小站

Linux

主存中存储单元地址的分配

朱华

计算机组成原理 计算机专业

多用as少用强制类型转换

喵叔

7月日更

Java Flight Recorder - 事件机制详解

毕昇JDK社区

看完这篇 HTTPS 文章,再也不怕面试官这么问我了

HelloWorld杰少

https 对称加密 HTTP 非对称加密、 7月日更

有图,有代码,好理解,学习内存管理,mmap机制

奔着腾讯去

Linux 内存管理 Mmap 内存映射

声网Agora 教育 aPaaS 灵动课堂升级:UI与业务逻辑分离,界面、功能自定义更灵活

RTE开发者社区

在线教育 网络

从开发转到安全渗透工程师,是我做的最对的决定

网络安全学海

黑客 网络安全 信息安全 渗透测试· 漏洞分析

图计算之开局女朋友跑了

Zhuan

图算法 图计算 networkX GraphScope

Discourse 云平台安装

HoneyMoose

基于机器学习的语音编解码器声网Agora Silver:支持超低码率下的高音质语音互动

RTE开发者社区

RTE 技术详解 音频体验 AI Codec

优秀!百度技术官甩出SpringBoot全栈小册,GitHub星标92.5k

Java 编程 程序员

结构化流-Structured Streaming(八-上)

Databri_AI

spark 查询引擎 结构化思维

手写归并排序算法

实力程序员

程序员 C语言 排序算法 实力 编程实战

现代分布式架构设计原则-互操作性

松先生

RESTful 接口 REST API

下一代5G计算终端,正在你我的案头苏醒

脑极体

鉴释首席运营官赵科林:质量第一思维模式

鉴释

代码 安全编码

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