有钱Python,没钱PHP,编程语言也嫌贫爱富

简介:

近日,在 Stack Overflow 全球移动开发者分布的调查报告中发现,相较于高收入的国家,Android 在低收入国家应用得更加广泛。

那么这究竟意味着什么?不禁引发我们深思,不同经济背景下的国家编程技术有何不同,它又如何影响着我们对全球软件开发行业的看法。本篇文章将带领大家共同探讨这些差异,并解读将软件开发行业划分为高收入国家和世界其他地区的必要性。

调查报告分析基于 2017 年(1-8 月)中使用最多的 250 个编程语言标签。为了减少误差,我们仅分析了这段时间内访问各种编程语言达 500 万次及以上的 64 个国家。

人均 GDP 相关的技术

在近期的一篇“Where in the World is Mobile Development?”文章中,我们使用“ Stack Overflow Trends tool”分析得出 Android 流量占比往往与一个国家的人均 GDP 负相关。这促发我们想要了解其他的编程语言是否也如此。

在挖掘主要的编程语言和平台时,除了 Android 之外,其他一些主要语言还有 PHP、Python 和 R。

有钱Python,没钱PHP,编程语言也嫌贫爱富

从上图可以看出,Android 和 PHP 的使用数量与一个国家的收入呈负相关,而 Python 和 R 语言则正好相反,呈现出越发达国家使用的频率越高。在这种趋势之下,我们也发现了一些特例,诸如韩国使用 Android 频率比预期的多,而中国更多的是使用 Python,但通常而言,这种语言使用流量和国家关联性还是比较强的。

在这里也需要特别声明的是:基于以上数据统计,并不意味着编程语言的选择会影响到一个国家的平均收入,而一个国家的 GDP 也不会影响开发者对于编程语言的抉择,二者并没有任何的因果关系。

为何要将世界的软件开发行业划分为两种?

当研究趋势时发现,将软件开发行业分为两组国家(高收入和非高收入)比考虑其他一系列相关的因素更有用。作为一个有价值的分类,我们可以基于人均 GNL(国民总收入)使用世界银行收入分类进行划分。

有钱Python,没钱PHP,编程语言也嫌贫爱富

共计有 78 个高收入经济体,主要由美国和加拿大、西欧、中东和东亚部分地区以及澳大利亚/新西兰组成。 我们已经对国家间差异(如主成分分析)的根本驱动因素进行了一些分析,认为这是一个合理的分工,而且它比其他分割方法更有意义,比如东半球与西半球。 (例如,澳大利亚在编程技术访问及使用方面来说与中国或印度尼西亚更为类似)。

有钱Python,没钱PHP,编程语言也嫌贫爱富

高收入国家在技术上的差异?

现在将世界的软件开发划分为两个版块:高收入国家和非高收入国家,那么两者在技术上的差异究竟在哪?

有钱Python,没钱PHP,编程语言也嫌贫爱富

本文提取出几个有趣的见解:

数据科学技术的差异:如上文所述,Python 和 R 语言与一个国家的收入有关。在高收入国家,Python 的访问次数是世界其他地区的两倍,R 大约是世界其他地区的三倍。此外,我们也可能注意到一些小的标签,大多数是科学技术中 Python 和 R 语言的包,如 pandas、numpy、matplotlib 和 ggplot2。这表明两种语言的部分收入差异可能是因为它们在科学和学术研究中的应用。在更加富有的工业化国家,这些技术使用频率更高,科学研究占经济较大的部分,程序员也可获得更高的学位。

C / C ++:C / C ++是另外两种在发达国家常被访问的语言。猜测其主要原因之一是和国家的教育有关:因为在此前一篇文章,我们得知 C 和 C++ 在美国大学不按比例的成为受访问语言之一。另外一个原因可能与电子和制造业的地理分布有关。

PHP 和 Android:在低收入国家中,除了 Android 开发技术比较广泛外,PHP 也排名前 5。有趣的是,CodeIgniter 是一个 PHP 开源框架,而这个框架在低收入国家是经常被单独访问的标签。进一步调查发现,在南/东南亚(特别是印度、印度尼西亚、巴基斯坦和菲律宾地区),CodeIgniter 访问量很大,而美国和欧洲的访问流量很少。由此得出,CodeIgniter 可能是建立网站的外包公司的常用选择。

结论:为什么这么重要?

这些结论对于编程语言生态系统是一个有趣的事实。通过本文,我们区分了两个“混合”在一起的软件开发行业问题。通常,我们会比较感兴趣哪些技术使用的更多,可以驱动更多的流量,诸如了解 Flash 这种随着时间而逐渐消失的数据。如果我们要列一个最受欢迎的编程技术排行榜,那么高收入国家和低收入国家会有所不同:

有钱Python,没钱PHP,编程语言也嫌贫爱富

例如,到目前为止,Python 在高收入国家常被访问标签中排名第二,而在世界其他地区只有第 8 位;R 语言在高收入国家排名第 15 位,但它在其他国家排名甚至不会进入前 50。

因此,对于不同国家的企业招聘,招聘者及人才都需要一组不同的参考值。


作者:佚名

来源:51CTO

相关文章
|
2月前
|
Unix 编译器 Shell
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
本文回顾了计算机语言与操作系统的起源,探讨了早期 Unix 操作系统及其与 C 语言的相互促进发展。Unix 最初用汇编语言编写,运行在 PDP-7 上,后来 Thompson 和 Ritchie 开发了 C 语言及编译器,使 Unix 重写并成功编译。1974 年 Ritchie 发表论文,Unix 开始被学术界关注,并逐渐普及。伯克利分校也在此过程中发挥了重要作用,推动了 Unix 和 C 语言的广泛传播。
58 9
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
|
4月前
|
Python
|
2月前
|
测试技术 数据库 开发者
Python作为一种谦逊的编程语言:对象自省机制的探讨
Python的自省机制是该语言的一个强大特性,为开发者提供了深入了解和操作对象的能力。它增强了Python的灵活性,使得开发者可以更加精准地控制程序的行为。然而,合理利用自省能力,避免其成为代码复杂性的来源,是每个Python开发者需要考虑的问题。通过熟练运用Python提供的自省工具和技巧,可以更好地设计和实现高效、易维护的Python应用。
28 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
Python是一种多用途的编程语言
Python是一种多用途的编程语言
45 9
|
2月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
3月前
|
机器学习/深度学习 PHP 开发者
探索PHP中的面向对象编程构建你的首个机器学习模型:以Python和scikit-learn为例
【8月更文挑战第30天】在PHP的世界中,面向对象编程(OOP)是一块基石,它让代码更加模块化、易于管理和维护。本文将深入探讨PHP中面向对象的魔法,从类和对象的定义开始,到继承、多态性、封装等核心概念,再到实战中如何应用这些理念来构建更健壮的应用。我们将通过示例代码,一起见证PHP中OOP的魔力,并理解其背后的设计哲学。
|
3月前
|
PHP 开发者 UED
PHP中的异常处理:从基础到高级探索Python中的列表推导式:简洁而强大的工具
【8月更文挑战第30天】在PHP编程的世界中,异常处理是确保代码健壮性和可靠性的关键机制。本文将引导您了解PHP异常处理的基本概念,并通过实际示例展示如何有效地捕获和处理异常。我们将一起探索try-catch结构、自定义异常类以及高级异常处理技术,让您的PHP代码更加稳固和易于维护。
|
3月前
|
存储 中间件 PHP
Python编程入门:从零到一的代码实践深入理解 PHP 中的中间件模式
【8月更文挑战第28天】本文旨在通过浅显易懂的方式,向初学者介绍Python编程的基础知识,并结合具体代码示例,带领读者一步步实现从零基础到能够独立编写简单程序的转变。文章将围绕Python语言的核心概念进行讲解,并通过实例展示如何应用这些概念解决实际问题。无论你是编程新手还是希望扩展技能的专业人士,这篇文章都将为你打开编程世界的大门。 【8月更文挑战第28天】在PHP的世界中,设计模式是构建可维护和可扩展软件的重要工具。本文将通过浅显易懂的语言和生动的比喻,带领读者深入理解中间件模式如何在PHP应用中发挥魔力,实现请求处理的高效管理。我们将一步步揭开中间件的神秘面纱,从它的定义、工作原理到
|
4月前
|
机器学习/深度学习 数据采集 算法
Python编程语言进阶学习:深入探索与高级应用
【7月更文挑战第23天】Python的进阶学习是一个不断探索和实践的过程。通过深入学习高级数据结构、面向对象编程、并发编程、性能优化以及在实际项目中的应用,你将能够更加熟练地运用Python解决复杂问题,并在编程道路上走得更远。记住,理论知识只是基础,真正的成长来自于不断的实践和反思。
|
3月前
|
机器学习/深度学习 安全 网络安全
探索数字取证的核心技术与实践,通过Python编程语言的应用实例
在网络的无垠海洋中,数字取证如同一位高明的侦探,穿梭于数据的密林,追踪着网络犯罪的蛛丝马迹。它不仅是法律正义的守护者,更是信息安全领域的一把利剑,用科学的方法揭示真相,保护网络空间的和平与秩序。本文旨在探索数字取证的核心技术与实践,通过Python编程语言的应用实例,展示如何在海量数据中寻找线索,分析网络攻击行为,为网络安全防御提供强有力的支持。
34 0