五年前就这么过去了?说实话,我跟不少朋友聊起这事,大家的第一反应都是:时间也过得太快了吧。可奇怪的是,你让我回想五年前流行什么IT技术,我一时半会儿还真说不上来。这不矛盾吗?如果时间过得快,为啥我们记不住当时的热门?其实仔细想想也不奇怪——这五年里,技术变化太大了,又深又广,早就把记忆冲得七零八落。
翻翻我几年前在《Borland传奇》后半段写的那些预测,当时挺自信地提了两个方向:面向对象和建模技术会走向平民化,Web Service能打破平台壁垒。这两个点算是说对了。但我真没想到,软件工程和测试方法后来对开发模式的影响会那么猛。
你看看现在的IDE,哪个没被软件工程和测试方法“改造”过?越来越多IDE集成了一种甚至好几种这类功能。再加上CMMI的推波助澜,未来的开发工具——已经不能叫纯IDE了——会继续往里塞CMMI的功能。一旦工具开始支持CMMI Level 3以上,那意味着开发效率、质量、方法都会被量化。到时候,如果你的“精致化开发”能力跟不上,很容易被下一代环境淘汰。
软件工程和测试方法的进步还会带来两个变化:一是设计模型和架构会像代码一样能被审核、量化;二是测试计划可以提前在设计阶段就执行,对模型和架构做测试。这冲击可不小,设计师和架构师得做好准备。
主流程序语言的语法越来越像,这不奇怪。重要的是看语言本身怎么变。声明式语言在.NET主导下,慢慢也被Java接受了。语言里原生嵌入XML,Java带头,C#在后面追。这两个趋势未来几年会左右程序语言的方向。
说到这儿,不得不佩服Borland前首席科学家Chuck。他几年前在Borland内部搞了个Apollo计划,其实就是现在ORMapping这类技术的前身。2003年左右,他又在捣鼓Z语言——想把XML数据类型做成原生类型,执行流程和概念都围绕Web Service设计。这不就是下一代Java和C#想实现的东西吗?更关键的是,新技术需求正在把程序语言变成一个“吞噬”其他技术的核心机制。某个技术一旦成了必备品,它就会慢慢融入语言本身,成为核心功能。
ORMapping和对象查询语言也会是接下来的重点。你看看Hibernate多火,OCL影响力越来越大,微软也要推Object Space,连EJB 3.0都深受影响。这两项技术会成为数据存取和对象映射的主力。
那怎么面对下一个五年?答案其实不复杂:认清开发方法和流程比具体技术更重要。尽快找到适合你或团队的软件工程方法——不管是XP、RUP、MDA、FDD还是别的。用对方法,提升效率和质量,这才是眼下要紧的事。然后看看你专注的领域,找出背后的主导力量,把开发方法和技术趋势结合起来,基本就能立于不败之地。
另外,每碰到一个新技术、新语言、新应用,多琢磨一下它为啥会出现,背后是什么在推动。想想这些对你的工作有什么影响,你就不会被层出不穷的新东西搞得手忙脚乱。当然,看未来五年之前,先回头瞅瞅自己基本功打好了没有。那才是根本,不然全是白搭。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删