道家修行,先炼形,再炼神。盖神者形之所托。无形无神,尽是虚无;有形无神,也只不过空得一副臭皮囊罢了。说来玄虚,对应到今年的中国程序员大调查 数据分析上,居然也有模有样——我指的是从调查结果中反映出来的中国信息化程度。自2004年开始,我们每年均做这项调查。历年的数据看下来,中国软件产 业、软件公司,乃至于从业人员,在通向自由王国的理想之路上,不断地在修炼。奈何其形虽俱,其神不足。下文将自今年调查数据中,摘取数则,与读者分享。

从业人员篇

IT工作、特别是开发工作,是年轻人的天下。在本次调查中,19-25 岁以下受访者占47.84%,如果加上26-30岁的受访者,占到总比例的 87.26%。这反映了我国IT尚未进入成熟阶段的现状。把年龄层比例数据与岗位比例数据作对比,可以更明确地看到这一点。有趣的是,据研究机构统计,越 南等IT业处于起步阶段的国家,年轻开发者所占比例更大。

受访者年龄分布

年龄

开发者群体中,“阳盛阴衰”的现象很明显。此次调查的受访者有9 成是男性。受访者集中在 北京、广东、上海和江浙地区。今年的数据显示,江苏、浙江两省受访者之和占到总额的13.26%,俨然已和北、上、广形成鼎立之势。但其他地区受访者愿意 前往江苏、浙江发展的,所占比例却微不足道。在人才方面,江、浙尚缺乏足以与人抗衡的整体竞争力。

五地受访者比例分布

地区

以对人才的吸引力而论,大型外企和创业公司最有人才竞争力。前者的薪酬、福利、管理、职业生涯等体系较为成熟可靠,后者凭借的是“许你一个未来”、 “体现自我价值”的前景。调查显示,三成受访者有自我创业的意图。但金融危机引发的经济低潮,势必影响到创投形势,今年大家是否还想创业就很难说了。

受访者理想中的工作单位

工作单位

对于从业人员来说,就业市场形势越来越严峻。而在数百万尚未解决就业的应届和往届毕业生看来,简直就是冰海沉船一般的死局。在这种情况下,计算机相 关专业教育与单位需求脱节的现象越发显得突出和严重。学生受访者中,有六成对高校计算机教材表示不满意。学历教育解决不了就业问题,学生只能转向培训机构 寻求帮助。有77.1%的学生受访者,愿意参加专业课程之外的软件技术培训。相较去年的60%,比例有了极大的增加。入行不容易,入行后也得跟上日新月异 的技术发展,培训市场的火暴不是没有理由的。

07/08两年愿意参加课程外培训的学生比例

软件技术培训

积累二三年的工作经验后,通常都会成为骨干开发人员。此时,薪资方面可能得到第一次大幅度提升,部分开发者甚至得到提升机会。此时,他们对单位购买 IT软、硬件设备的决策影响力也大幅增加。以购买开发工具为例,参与提出建议和选型评估的受访者,占总额的55.2%;有决策购买能力的,占10.%。厂 商应更为重视开发者的购买决策影响力。

受访者在机构购买开发工具时的参与情况

负责的工作

编程语言和平台篇

Java、.NET和C++ 无疑仍是编程语言中的王者,各自占据擅长的市场。Java 在大规模企业级应用中翻手为云,.NET在中小企业信息化 市场上呼风唤雨,C++宝刀不老、在内核级开发和嵌入式软件应用上独擅胜场。PHP等Web专用的脚本语言,没有想象中那么风光。毕竟面向公众的Web应 用,在整个IT市场中未见得占到多大的份额。企事业单位信息化进程日渐深入,IT正在成为基础设施,更“架构化”的Java和.NET,以及更“底层化” 的C++,一占企业市场,一占移动市场,不算出奇。

受访者工作涉及开发平台及语言

平台及语言

在.NET阵营中,.NET Framework 2.0 的占有率高达63.7%,是当今.NET应用的主流平台版本。从2005 年的 11.0%到今天的超过六成,.NET Framework 2.0确已修成正果。.NET Framework 3.0和3.5版本的占有率之和超过 17%;随着Visual Studio 2008的推广(目前是VS2005占优,但有30%的.NET开发者打算迁移至VS 2008),3.0和 3.5版本会越来越强势。无论在哪个版本的.NET Framework上,C#语言都独占鳌头,其他语言完全不能与之抗衡。

相对于.NET/C#不断升级的“折腾”劲,传统C++显得较为保守。根据调查显示,使用C++ 的受访者,以做系统开发(22.9%)和网络开发 (22.6%)为主,他们的项目主要是企业应用(42.3%)和研究性项目(22.7%)。C++开发者似乎并不太买新版本Visual Studio的 账,目前仍有35.5%的受访者使用Visual Studio 6。

受访者主要使用的C++ IDE环境

IDE

在Java方面,JDK的部署版本也逐年变化。到2008年,JDK 5.0 市占率接近50%,远远超过其他版本。不可忽视的是,JDK 6.0从2007年的10%急速上升至25%,未来属于谁,不问可知。

调查显示,Eclipse 市占率持续提升,2008 年首次超过5 成受访者首选Eclipse。Netbeans市占率从2007年的27%下 降到2008 年的不到20%,主要原因是Sun公司推广重点转移到了Open Solaris和MySQL上,Netbeans成了爹不疼娘不爱的孩 子,未来一段时间内,预计市占率会继续走低。

Ruby、ErLang等“热词”,在2008年貌似风光无限,但实际采用率并不算高。前者的成熟度有待验证,后者应用领域较窄,但这并不说明它们缺乏重要性。尤其是RoR为代表的快速Web 开发框架,给老牌平台/ 语言带来的冲击不可忽视。

Web应用开发篇

反过来看,Java、.NET 两大平台所涉应用, 也反映出B/S 体系成为信息化应用主流的状况。其中,54.8%的.NET 使用者工作主要是开发Web 应用,而在Java 人群这个比例更是高达69.2%。网页为王,已是不争的事实。

由于Web 应用的特殊性,导致调查数据呈现出一种有趣的现象:无论你使用任何一种后台编程语言,绝大多数时候,前端总得与HTML 和 JavaScript 打交道。在RIA深入人心的今天,作为一种成熟的RIA表现形式(至少是RIA 过渡形式)的AJAX,其关注度也无人能匹敌。有 近5 成开发Web 应用的受访者采用了AJAX作为客户端表现技术。

近5成受访者采用AJAX技术

数据12

在目前采用纯HTML的受访者中,64%的人打算转向AJAX。打算采用Flex/AIR或Silverlight 的受访者比例大致相当,都不超 过15%。Adobe和微软推广自家RIA技术仍然任重道远,倒是Google 看准AJAX、以Chrome 奇袭,没准真能把水彻底搅浑。

受访者以后考虑采用的客户端表现技术

Web应用

数据库篇

在主流企业应用市场,Oracle和SQL Server 比其他厂商产品有优势,而DB2在凭借IBM的整合服务,占据了8%的市场。MySQL以其低廉的成本也获取了相当份额。比较有意思的是,Access 的表现相当优异,三成信息化应用是用它做的。

厂商近年来不遗余力宣传的“BI”、“XML”等特性,目前并未成为主流,但开发者非常关注这方面趋势。事实上,40%的受访者数据库应用规模小于 10万条记录,36%的受访者数据库应用规模在10万到100万条记录之间,达到千万级记录数的只有16.8%,这样的规模,还谈不上做商业智能级的数据 挖掘。对此,数据库专家王翔表示,“相对其他数据而言,这组调查数据非常有趣。它提醒我们数据库、数据库应用设计要‘适度’而不是‘过度’,虽然在各大厂 商在技术网站上都提供了为数很多的数据库部署方案,但作为应用的设计者要谨慎对待,要实事求是,设计时要对很多高可用性、高扩展性方案持谨慎态度,虽然对 于计算机系统而言故障在所难免, 但总要算个风险成本。”

数据库应用规模比例

数据15

本次调查发现,工作中涉及数据库技术的开发者感兴趣的新数据库技术领域以全文搜索比例相对最高(51.4%),其次为基于Web 的管理控制台 (44.9%), 第三为原生XML(Native XML)支持,比例为44.3%。搜索的重要性毋庸置疑,但即便采用数据库提供的全文检索,也未必能 实现良好的搜索功能。总的来说,数据库应用水平取决于信息化发展水平。预计未来对检索、数据挖掘、BI 等的需求会更加迫切。

开发者感兴趣的新数据库技术领域

数据库技术领域

软件工程篇

调查发现,受访者所在公司的认证评估体系以ISO-9000 系列比例最高,其次为CMM/CMMI 系列。但表面上的“正规化”背后却是作坊化的 生产方式。20人以下的小团队,占受访者所在团队的80%以上,这样的规模,要真照CMMI 那套干起来,还不得淹没在文档的大海中。

团队规模比例


软件工程专家青润认为,从国际上认可的软件工程实施较为完善的企业要求来看,开发人员和测试人员的比例应该为1:1,排除掉团队内特定的管理、需 求、配置管理、文档、美工、质量保证等人员外,开发团队中测试人员的比例应该在1/2到1/3之间比较合理。而此次调查显示,受访者所在团队中,测试人员 占团队总人数1/5 以下的,竟有41.7%之多。对测试的忽视必然造成软件质量不过关,这也是信息化程度较低的一种体现。

 

测试人员

相对于其他软件生命周期工具,需求管理工具采用率较低。不使用需求管理工具的受访者团队占到三成以上。由此可见,需求管理仍然是大量开发团队较为忽视的环节。缺乏有效的需求管理,导致信息化项目延期或失败,这样的例子比比皆是。

受访者团队采用需求管理工具情况

管理需求

34.8%的受访者团队采用Visio作为设计建模工具。严格来说Visio 只是一种绘图工具,但相对于Rose 的庞大,似乎更受小型开发团队 欢迎。从2007年的调查结果开始,CVS就超过了VSS,成为第一大源代码管理工具。在今年的调查中,CVS继续保持微弱优势。

受访者团队采用源代码管理工具情况

数据17

不要求进行集成的比例逐年下降,说明国内软件项目的可控性在不断提高,但精细化仍然是不可触及的梦想。今年的调查结果显示,仅30%的受访者团队做每日集成,而对集成粒度没有要求的受访者团队比例高达20%。这类项目,只可以用“混乱”来形容,失败可能性极大。

开发者经常采用的管理需求工具情况

工具

结语

信息化搞了这么多年,硬件、软件该上的都上了,但应用水平却有待提高。如果说软硬件设备是“形”,那么应用水平就是“神”。反求诸己,软件业也是形 稍俱而神不足。如同道家修行,此事急不得。唯有踏踏实实、去除浮躁,才有成功的基础。经济不景气,或许正是韬光隐晦、苦练内功的时候呢。

(本文来自《程序员》杂志0902期)

《程序员》杂志官方网站:http://www.programmer.com.cn/

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐