写点什么

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

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

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

关注

评论

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

读深入ES6记[一]

蛋先生DX

ES6 6月日更

Chia奇亚挖矿app开发|系统搭建

開發I3O6O643Zq7

挖矿 #区块链# IPFS怎么挖矿 Chia奇亚挖矿

安卓内存监控悬浮窗,算法题+JVM,知识点总结+面试题解析

欢喜学安卓

android 程序员 面试 移动开发

不看绝对血亏!跳槽面试大厂被拒,2021最新版!

欢喜学安卓

android 程序员 面试 移动开发

云图说|OLAP开源引擎的一匹黑马,MRS集群组件之ClickHouse

华为云开发者联盟

Clickhouse MRS 华为云 云图说 OLAP开源引擎

双向链表,还能这么实现

实力程序员

El Camino de Santiago

escray

6月日更

react源码解析8.render阶段

全栈潇晨

React react源码

【Flutter 专题】126 图解自定义两侧对齐 ACETabBar 标签导航栏

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

独热编码&词向量

Qien Z.

nlp 6月日更 独热编码 词向量 句子向量

数仓建设之路(一)

undefined

Go timer 是如何被调度的?

HHFCodeRv

Go 语言

【Vue2.x 源码学习】第七篇 - 阶段性梳理

Brave

源码 vue2 6月日更

分布式管理员zookeeper

卢卡多多

zookeeper CAP 6月日更

阿里云,让「服务」成为一种先进生产力

ToB行业头条

云计算 阿里云

如何看懂常用原理图符号、如何阅读原理图

不脱发的程序猿

电路设计 原理图符号 阅读原理图

让JavaScript在WebAssembly上快速运行

代码先生

JIT webassembly WASI

Bzz云算力挖矿app开发,Bzz分币系统搭建

APISIX2.6微服务网关入门

菠萝吹雪—Code

架构实战营

Service worker 的概念和用法

编程三昧

大前端 ServiceWorker

MySQL next-key lock 加锁范围总结

程序员小航

MySQL 索引 锁机制

美团主办国际顶会ICCV 2021研讨会,食品视觉领域顶级挑战赛开启报名

科技热闻

深度分享丨如何使用微细分仪打造金融场景下的战术级客户分群

索信达控股

大数据 金融科技 用户细分 客户数据平台 客户画像

Git使用

xujiangniao

上新!H3C Magic NX54双频5400M Wi-Fi 6路由器:549元

科技热闻

Java 并发编程—— Exchanger

Antway

6月日更

企业管理软件开发新模式:抛开旧思维,轻松做系统

雯雯写代码

软件开发 企业管理

如何合并K个有序链表

Skysper

算法

【LeetCode】汉明距离Java题解

Albert

算法 LeetCode 6月日更

百度Geek们教你怎样成为复盘高手

百度Geek说

公安警情研判分析系统搭建,警情可视化指挥调度

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