SD Times网站最近发布了一篇介绍“过去十年十大技术 事件”的文章,列举了包括Ant、.NET、虚拟化、Spring框架、Ruby on Rails、J2SE 5.0、Git、jQuery、Groovy和iPhone在内的十个有代表性的技术:
1. Ant Released (2000)
2. .NET Shipped (2000)
3. Virtualization Emerged (2001)
4. Spring Framework Appeared (2002)
5. Ruby on Rails Shipped (2004)
6. J2SE 5.0 Remade Java (2004)
7. Git Got Going (2005)
8. jQuery Emerged (2006)
9. Groovy Rocked Out (2007)
10. iPhone Called (2007)
在2000年Ant诞生之前,Java开发人员每天都要忙于琐碎的构建任务,他们每天也都在畅想如果有个工具能自动帮助他们完成这些工作那该多好啊。 Ant的发布可以说解脱了Java程序员。虽然有很多可以和Ant相媲美的Build工具,如Make、Gnumake、Nmake等,但至今为止Ant 还是以其跨平台的特性成为Java程序员工具箱里必不可少的利器。作者AndrewBinstock首先选择了Ant。排在第二位的是2000年微软发布 的.NET,Andrew解释说:
微软发布.NET是公司对Java的反击,它表明多特蒙德依然有能力跟上当前的技术趋势,并进而领导新的方向。虽 然.NET移植性一般,但是它够快,也支持多语言交互。更重要的是,随着.NET一起发布的C#语言,不仅具有Java最好的语法特性,还增加了许多有用 的创新。因为.NET的发布,微软在软件开发历史上书写了全新而非常成功的一页。
在这十大技术事件中,除了.NET、Ruby on Rails和iPhone,其他多少都和Java技术相关,想必又有许多人为Sun的被收购而可惜了。在提到2004年发布的Ruby on Rails时,Andrew评价说:
RoR完成了对“惯例优于配置”这一思想的彻底实现,它提供了一个工具集合,使得构建可用的站点更加便捷。它集成了Spring 以开发人员为中心的优良品德,却移除了那些企业级特性,并引入了一门并不大众的语言。在这个过程中,Ruby因RoR而风云再起,并向技术社区展示了快速 应用开发(RAD)并不意味着“快,但脏”,而是快,优雅和可靠。
iPhone能够被列举其中,其很大的原因是因为它的出现变革了移动开发的格局和思想,正如Andrew所说,在iPhone出现之前,手机和手持设备上 的应用都小且没有创意,比如日历、地址簿、MP3播放器、普通的游戏等。苹果iPhone的发布完全颠覆了这一印象,并催生了数以千计的应用,从小儿科 的,到富有想象力的,到有实用价值的,一应俱全。苹果的iPhone和Google的Android一起向世人证明,移动开发已经是软件市场中完整且仍在 快速进化的一部分。
Andrew对其他几个入围的技术也进行了简要评价,比如说Spring是Java领域以简易开发为思想的第一个成功的Web框架,比如是Java5的出 现才让Java真正被人接受,比如所有Ajax开发者都受过JavaScript的苦却也都认为就jQuery的伟大,比如Groovy的横空出世让人们 看到在JVM之上还可以运行脚本语言等等。
也许因为春节的原因,国内并没有多少社区关注这个事件,另外无论以什么样的标准去从过去十年挑选出十个有代表性的事件,总会引起争论。Andrew一文的 价值在于通过这些事件,对过去十年的软件研发历史做了简要梳理。以史为鉴,可以照未来,我们也期待下一个十年有更多技术彻底影响我们的研发领域。其实这已 经开始了,比如云计算,比如REST,比如RIA等。