全世界有多少Java开发者?

[来源] 达内    [编辑] 达内   [时间]2012-08-30

Oracle 说世界上有900万 Java 程序员 ,Wikipedia说是1000万,而 NumberOf.net 的哥们儿说的很精确:世界上有九百万七千三百四十六个 Java 程序员。

Oracle 说世界上有900万 Java 程序员 ,Wikipedia说是1000万,而 NumberOf.net 的哥们儿说的很精确:世界上有九百万七千三百四十六个 Java 程序员。
我要这些数字是为了计算内存泄露检测工具潜在的市场。但这些数字困扰了我多年,似乎这些数字背后没有可信的调查和依据,都是拍脑袋想出来的。所以我决定尝试去获得真实的数据。
这确实是一个很有挑战性的工作。地球上有70亿人口,我不可能一个一个去问。所以必须得想点别的办法。
通过阅读和观察不同的信息来源,我决定深挖四个来源:
各个政府发布的劳动力报告
编程语言排名报告,例如 Tiobe 和 Langpop
找工作门户 Indeed.com 和 Mondter.com
流行 Java 工具的下载量,例如 Ecilpse 和 Tomcat
我打算通过这些信息计算出一个比较合理的数字。
世界上一共有多少程序员?
世界上大约有70亿人口。除去 sub-Saharan Africa 和 rural Asia 这些不大可能有软件产业的地方以外,我们可以计算的人口大约有50亿。
在这50亿中,有多少人在开发软件呢?StackExchange 上的一个答案给我们找出不同国家软件开发者的比例指了一条明路。通过 US,Japan,Canada,EU,UK这些地区作为样本,我们可以估算大约 0.86% 的人口是以软件开发为职业的:

50亿x0.86% = 4300万。让我们记住这个数字,这将是后面计算的基础。
编程语言的流行度
在这个环节,我们将使用 TIOBE 和 Langpop 作为信息来源。简单介绍一下,TIOBE 的排名是根据搜索引擎的点击来计算的。

L angpop使用了更多的参数,除了搜索引擎的点击以外,它还使用了招聘信息,书籍标题,开源软件等等。把这些信息综合一下,我们可以得出,TIOBE 的数据显示17%的程序员使用 Java,Langpop 的数据显示15%的程序员使用 Java。取平均数16%。4300万x16% = 688万。
找工作门户
工作门户上面职位的数量和简历的数量是一个不错的信息来源。大型的工作门户同样提供劳动力市场报告,我们等会儿分析。
根据 Monster.com 的分析,大约18%的申请者会使用 Java。根据 Indeed.com 的信息,16%的职位是跟 Java 相关。取平均数17%。4300万x17% = 731万。
软件下载
一个 Java 开发者都会使用工具。我们假设他们至少使用一种 JVM 和编译器。如果你知道哪个 Java 开发者不使用他们的话,请你立即让我知道。大部分人至少还会使用 IDE,应用服务器等等。所以我们可以看看这些工具的下载数量去估算 Java 程序员的数量。
我们通过 Zeroturnaround 2012年春天的统计数据来获得不同软件的市场占有率。
首先来看 Eclipse 的下载量。Eclipse Juno 是6月27日发布的,在头20天,已经被下载了120万次。根据 eclipse.org 发布的历史数据,Juno 将总共被下载800万次。过去的四次 Eclipse 主要发行版都是在6月份发布的,数据如下:
Juno - 800万次下载(预估一年的数据,目前是头20天120万下载量)
Indigo - 600万次下载
Helios - 410万次下载
Galileo - 220万次下载
取 Juno 和 Indigo 的平均值,我们可以估算 Eclipse 一年的下载量为700万次。根据 Zeroturnaround 的数据,Eclipse 占据 68% 的市场份额,那么我们可以估算大约有1030万的 Java 开发者。
下面来看看 Apache Tomcat 的下载情况。根据 Vadim Gritsenko 的统计,我们可以看到在过去的一年中,Tomcat 的下载量大约是每月55万次,也就是660万一年。

根据相同的市场份额来源,有59%的 Java 开发者使用 Tomcat。那么我们在这里得到的数据是一共有1118万的 Java 开发者。
平均一下 Eclipse 和 Tomcat 的数据,我们可以得到1074万 Java 开发者。
总结
们通过“工作市场,语言流行度,软件下载量”三种不同的数据来源进行估算,我们得到的数据有一些差距,688万,731万,1074万。我们给这三个数字取平均,我们得到的数据时831万。虽然没有 Oracle 和 Wikipedia 声明的那么多,但是也接近,足够支撑一门生意,为 Java 开发者提供开发工具。

资源下载