全世界有多少 Java 开发者?

jopen 12年前
   <p>Oracle 说世界上有<a href="/misc/goto?guid=4958348756781142750" target="_blank">900万 Java 程序员</a> ,Wikipedia说是<a href="/misc/goto?guid=4958348757586126322" target="_blank">1000万</a>,而 NumberOf.net 的哥们儿说的很精确:世界上有<a href="/misc/goto?guid=4958348758381989158" target="_blank">九百万七千三百四十六个 Java 程序员</a>。<br /> <br /> 我要这些数字是为了计算<a href="/misc/goto?guid=4958348759180326394" target="_blank">内存泄露检测工具</a>潜在的市场。但这些数字困扰了我多年,似乎这些数字背后没有可信的调查和依据,都是拍脑袋想出来的。所以我决定尝试去获得真实的数据。<br /> <br /> 这确实是一个很有挑战性的工作。地球上有70亿人口,我不可能一个一个去问。所以必须得想点别的办法。<br /> <br /> 通过阅读和观察不同的信息来源,我决定深挖四个来源:</p>    <ul>     <li>各个政府发布的<a href="/misc/goto?guid=4958348759972113558" target="_blank">劳动力报告</a> </li>     <li>编程语言排名报告,例如 <a href="/misc/goto?guid=4958348760773950257" target="_blank">Tiobe</a>  和 <a href="/misc/goto?guid=4958348761564666699" target="_blank">Langpop </a></li>     <li>找工作门户 Indeed.com 和 Mondter.com</li>     <li>流行 Java 工具的下载量,例如 Ecilpse 和 Tomcat</li>    </ul>    <p>我打算通过这些信息计算出一个比较合理的数字。<br /> <br /> <strong>世界上一共有多少程序员?</strong><br /> 世界上大约有70亿人口。除去 sub-Saharan Africa 和 rural Asia 这些不大可能有软件产业的地方以外,我们可以计算的人口大约有50亿。<br /> <br /> 在这50亿中,有多少人在开发软件呢?StackExchange 上的一个答案给我们找出不同国家软件开发者的比例指了一条明路。通过 US,Japan,Canada,EU,UK这些地区作为样本,我们可以估算大约 0.86% 的人口是以软件开发为职业的:<br /> </p>    <table border="10" cellspacing="1" cellpadding="10" width="500">     <tbody>      <tr>       <td style="text-align:left;font-weight:bold;">Country</td>       <td style="text-align:right;font-weight:bold;">Population</td>       <td style="text-align:right;font-weight:bold;">Developers</td>       <td style="text-align:right;font-weight:bold;">%</td>      </tr>      <tr>       <td style="font-weight:bold;">Canada</td>       <td style="text-align:right;">33,476,688</td>       <td style="text-align:right;" valign="center">387,000</td>       <td style="text-align:right;">1.16%</td>      </tr>      <tr>       <td style="font-weight:bold;">EU27</td>       <td style="text-align:right;">502,486,499</td>       <td style="text-align:right;">5,900,000</td>       <td style="text-align:right;">1.17%</td>      </tr>      <tr>       <td style="font-weight:bold;">Japan</td>       <td style="text-align:right;">127,799,000</td>       <td style="text-align:right;">1,016,929</td>       <td style="text-align:right;">0.80%</td>      </tr>      <tr>       <td style="font-weight:bold;">UK</td>       <td style="text-align:right;">63,162,000</td>       <td style="text-align:right;">333,000</td>       <td style="text-align:right;">0.53%</td>      </tr>      <tr>       <td style="font-weight:bold;">US</td>       <td style="text-align:right;">313,931,000</td>       <td style="text-align:right;">1,336,300</td>       <td style="text-align:right;">0.43%</td>      </tr>      <tr>       <td style="font-weight:bold;"><br /> </td>       <td><br /> </td>       <td style="text-align:right;"><br /> </td>       <td style="text-align:right;"><br /> </td>      </tr>      <tr>       <td><br /> </td>       <td style="text-align:right;font-weight:bold;" colspan="2">Weighted average:</td>       <td style="text-align:right;font-weight:bold;">0.86%</td>      </tr>     </tbody>    </table>    <p><br /> <br /> 50亿x0.86% = 4300万。让我们记住这个数字,这将是后面计算的基础。<br /> <br /> <strong>编程语言的流行度</strong><br /> 在这个环节,我们将使用 TIOBE 和 Langpop 作为信息来源。简单介绍一下,TIOBE 的排名是根据搜索引擎的点击来计算的。<br /> <img alt="全世界有多少 Java 开发者?" src="https://simg.open-open.com/show/52b211bfc55a0dba6ff08660daffc477.png" width="528" height="393" /></p>    <p><br /> Langpop使用了更多的参数,除了搜索引擎的点击以外,它还使用了招聘信息,书籍标题,开源软件等等。把这些信息综合一下,我们可以得 出,TIOBE 的数据显示17%的程序员使用 Java,Langpop 的数据显示15%的程序员使用 Java。取平均数16%。4300万x16% = 688万。<br /> <br /> <strong>找工作门户</strong><br /> 工作门户上面职位的数量和简历的数量是一个不错的信息来源。大型的工作门户同样提供劳动力市场报告,我们等会儿分析。<br /> <br /> 根据 Monster.com 的<a href="/misc/goto?guid=4958348762363480665" target="_blank">分析</a>,大约18%的申请者会使用 Java。根据 Indeed.com 的<a href="http://www.indeed.com/jobtrends?q=java%2C+programming%2C+software+development%2C+software+engineer&l=" target="_blank">信息</a>,16%的职位是跟 Java 相关。取平均数17%。4300万x17% = 731万。<br /> <br /> <strong>软件下载</strong><br /> 每 一个 Java 开发者都会使用工具。我们假设他们至少使用一种 JVM 和编译器。如果你知道哪个 Java 开发者不使用他们的话,请你立即让我知道。大部分人至少还会使用 IDE,应用服务器等等。所以我们可以看看这些工具的下载数量去估算 Java 程序员的数量。<br /> <br /> 我们通过 Zeroturnaround 2012年春天的统计数据来获得不同软件的市场占有率。<br /> <br /> 首先来 看 Eclipse 的下载量。Eclipse Juno 是6月27日发布的,在头20天,已经被下载了120万次。根据 eclipse.org 发布的历史数据,Juno 将总共被下载800万次。过去的四次 Eclipse 主要发行版都是在6月份发布的,数据如下:</p>    <ul>     <li>Juno - 800万次下载(预估一年的数据,目前是头20天120万下载量)</li>     <li>Indigo - 600万次下载</li>     <li>Helios - 410万次下载</li>     <li>Galileo - 220万次下载</li>    </ul>    <p>取 Juno 和 Indigo 的平均值,我们可以估算 Eclipse 一年的下载量为700万次。根据 Zeroturnaround 的数据,Eclipse 占据 68% 的市场份额,那么我们可以估算大约有1030万的 Java 开发者。<br /> <br /> 下面来看看 Apache Tomcat 的下载情况。根据 <a href="/misc/goto?guid=4958348763967286406" target="_blank">Vadim Gritsenko</a> 的<a href="/misc/goto?guid=4958348764752200560" target="_blank">统计</a>,我们可以看到在过去的一年中,Tomcat 的下载量大约是每月55万次,也就是660万一年。<br /> <img alt="全世界有多少 Java 开发者?" src="https://simg.open-open.com/show/812eeb3ecb16b3c0c357b06bd54e77d0.png" width="577" height="265" /><br /> 根据相同的市场份额来源,有59%的 Java 开发者使用 Tomcat。那么我们在这里得到的数据是一共有1118万的 Java 开发者。<br /> <br /> 平均一下 Eclipse 和 Tomcat 的数据,我们可以得到1074万 Java 开发者。<br /> <br /> <strong>总结</strong><br /> 我 们通过“工作市场,语言流行度,软件下载量”三种不同的数据来源进行估算,我们得到的数据有一些差距,688万,731万,1074万。我们给这三个数字 取平均,我们得到的数据时831万。虽然没有 Oracle 和 Wikipedia 声明的那么多,但是也接近,足够支撑一门生意,为 Java 开发者提供开发工具。</p>    <p> </p>    <p><a href="/misc/goto?guid=4958348765551603574" target="_blank">原文链接</a> </p>