解读《The Open Source Developer Report》
每一年 Eclipse 都会在社区内部进行一项调查,来了解开发者的动态,前不久他们公布了2010年的调查报告,从中可以看到一些有趣的趋势。
先从大的方面来看,我觉得有三个亮点,首先是越来越多的开发者采用 Linux 做为自己的 OS,我想这和 Eclipse 社区成员大多是开源“粉丝”这一现状有关,Eclipse 本身是 Open Source,它的用户绝大部分不会是 .net 程序员,因此不是非要使用 Windows。以我为例,Java, PHP, Python, Ruby, C, MySQL 是我经常接触到的技术,个人环境使用 Linux 完全可以胜任,不过公司环境还是使用 Windows,–这不是我能够控制的。
Linux continues to gain market share on the developer desktop. Close to one third of developers (33%) now use Linux as their primary development operating system; this is up from 20% in 2007. In parallel Microsoft Windows has dropped from 74% in 2007 to 58% in 2010.
其次,开源解决方案依旧赢得开发者的青睐,JQuery 和 Spring 分别是构建 RIA (Rich Internet Application) 和Server Side Application 最受欢迎的 Framework。
最后,云计算得到越来越多的认可和采用,已经采用和将要采用的比例接近三成。从调查结果来看,Amazon 和Google 在云计算上深得人心,但是目前在这个领域,每个公司各自为战,一个概念,不同解读,各有各云,Amazon EC2,Google App Engine,Salesforce 分别代表了目前三大观点。
Deploying to a cloud infrastructure is a current option or planned option for 29.5% of the respondents. Amazon EC2, Google App Engine and a private cloud are the popular choice for those considering a cloud infrastructure.
在 Java 使用情况方面,大部分人已经选择了 Java SE 1.5 或 1.6,这在 Java 7 迟迟不肯露面的情形下再正常不过。但是随后一项数据让我十分惊讶:
For deployment, they typically choose the Sun Hotspot JVM (69.8%) or Open JDK (21.7%).
Open JDK 的比例居然能够占到21.7%,真是出乎我的意料,我一直没有搞懂 Open JDK 和 Sun JDK 的关系,就像无法理解 Open Solaris 和 Sun Solaris 一样。
还有一项数据,Development Methodology,比较有幽默感,先来看有哪些选项。None, Scrum, Iterative Development, Don’t know, Agile Modeling, Extreme Programming (XP), Test Driven Development (TDD), Waterfall Feature Driven Development (FDD), Rational Unified Process (RUP), ISO 9000, Lean Development, Other。这里面的都是些热门词汇,我今天才知道还有FDD、ISO 9000和Lean Developemnt,剩下的名词里,觉得眼熟,但讲不出一二三。Close to a third responded that they didn’t use methodolgy (25%) or didn’t know (7.8%)
,我应该是属于这三分之一。
在 Source code management (SCM) 方面,SVN 继续独占鳌头,CVS 老态龙钟,失去的份额被 Git 和 Mercurial 这两个分布式 SCM 工具占据。Change management system 的一二名分别是 JIRA 和 Bugzilla。Build and Release Management 的头名也依旧是 ANT。
最后,Applicaiton Style 的数据是我比较关注的,server-centric (26.9%),web (26.9%),desktop application (21%)。其中desktop 居然还有21%的比例,超出意料,至少我接触到的软件里采用 Swing/SWT 来开发的少之又少。server-centric 和 web 这两个选项,我认为是很难区分的,二者应该相互依存的关系,不知道当初是怎么定义的,因此我无法从中做出分析。
解读这份报告,我的目的是想知道老外们现在是怎么想的,他们在关注什么,在做什么,毕竟国内的软件理念、方法还是要落后国外至少五年左右,看看国外的现在,大概可以预测国内的未来。