解开悬念or延续悬念?
IT商界
进入到信息化社会以后,如何更快更准确地把握信息技术的发展趋势,对于每个公司或者个人来说都是至关重要的事情。什么才是软件技术发展的趋势,已经成了社会信息化最主要的探索对象?今年年初的时候,几个问题一出现就开始困扰所有关心软件技术的人们──SUN的JAVA和微软的.Net谁能胜出?BORLAND公司宣布要推出能全面支持.Net的开发平台,那么究竟什么时间推出,这个新的平台能给我们带来怎么样的震撼?移动技术会不会有什么大发展?中国软件业何时才能真正进入软件工程化的阶段?
悬念一:SUN的JAVA和微软的.Net谁能胜出?
从目前的情况来看,JAVA和.Net必将主宰未来的软件发展。其实看看现在各大媒体上招聘程序员的广告或到网上看看那些议论抛弃Delphi、VB而去学C#或者JAVA的大讨论就可见一斑了。那么究竟JAVA和.Net谁会在未来胜出呢?我们又该做如何的选择呢?
仔细比较一下JAVA和.Net平台上的各种技术,我们发现两者间的惊人相似。两者都有核心组件模型技术的概念,只不过JAVA上的是EJB,而.Net上的是COM+的演进模型;两者都采用了虚拟执行环境的概念,在JAVA上是JVM,而.Net上是CLR;两者又都强调数据存取的技术,JAVA上有SUN规划的JDO,而.Net上有微软器重的ADO.Net。
有了上面的认识,我们就可以在两个平台对应的技术上进行比较和选择了。这里笔者不想做过多主观的比较了。但通过对两大平台的技术分析,我们多少可以看到一些未来技术发展的方向。组件模型技术、语言的中立化以及数据存取技术都将是未来平台技术的核心。
JAVA和.Net谁更强?这个悬念仍在心上。至于选择走哪条路,聪明的朋友会根据上面的线索对两大平台进行比较,而选择一条最适合自己的路来走。另外,其实选择的风险并不像我们想象的那么大。
悬念二:BORLAND的.Net的开发平台,能给我们带来怎么样的震撼?
BORLAND公司在今年不负众望地推出了Delphi8的时候,这个悬念就已经豁然开朗。其实并不是笔者对Delphi有偏好,才特别关注BORLAND公司的动静。而是这件事确实对我们广大程序员甚至整个软件业来说是非常有意义的。
从狭义上来说,Delphi8的推出使那些正在使用BORLAND公司开发工具的软件公司和程序员们吃了一颗定心丸。Delphi8的推出解除了他们是否要放弃Delphi而去重头学习使用C#的困扰,也避免了大量原来用Delphi平台编写的程序代码成为垃圾的命运。而从广义上来说,作为第一个在.Net平台上的非微软嫡系的开发平台,Delphi8的诞生意义重大。基于.Net的核心机制,长期以来很多人对.Net平台的语言中立性存在很多的怀疑。业界甚至有种悲观的论点,在.Net上将只有Visual Studio.Net一个开发平台,并且只有C#语言才是最佳的选择。这也是为什么会有不少朋友在网上嚷着要改学C#,而那些不喜欢C#的朋友就只能去学JAVA的原因了。
尽管BORLAND公司早在去年就宣布全面支持.Net,但毕竟眼见为实,没见到产品出来,谁也不知道结果如何。现在终于有了第一个,那么不久的将来会不会有第二个、第三个,或许PB就是下一个,这有谁知道呢?当年在Windows平台上,诞生了很多影响巨大的开发平台,也正因为此,Windows平台才会获得巨大的成功和发展。谁不希望发展到了.Net上,就只有微软一家的开发平台。
悬念三:移动技术会不会有什么大发展?
如果你一直关注移动技术的发展,那么在你按捺不住去买个PALM或者PDA之类的掌上电脑来玩玩时,你可能会发现目前的掌上电脑似乎只能当商务通和电子书阅读器来用。其实移动技术已经有挺长时间的发展了,只是好象发展的速度不如我们想象中的那么快,当然也可能是国内还不够普及吧。
不过今年好象移动技术在我们身边开始普及开来。首先,年初笔者在一家餐馆里吃饭的时候,发现使用了电子点菜系统。客人在座位上可以借助由PALM构成的点菜终端进行点菜,而点菜信息通过无线传输到服务器上,服务器上的程序负责安排厨房工作。通过这样的一套系统可以合理地安排厨师的工作,确保上菜的及时性,避免前后场交接工作失误,大大提高了工作效率。夏天,和几个朋友一起出去旅游。朋友的车上就安装了一套价值万元的GPS导航系统。其实就是一个由PALM、GPS数据接收器和一个语音发声系统构成的小盒子,却发挥了重要的作用。因为我们中间没有人认识去目的地的路,所以一路上基本就靠着导航系统才顺利到达目的地。前些天,在离公司不远的地方看到了一条手机软件程序员培训的招生广告,还吸引了不少年轻人驻足观看。
其实很明显,移动应用一定是未来的发展方向之一。其实不用猜想就应该知道,总有一天,借助移动技术的广泛应用,可能会出现很多新兴的服务行业,还会诞生很大一批移动设备的软件程序员……
悬念四:中国软件业何时才能真正进入软件工程化的阶段?
过去的一年,国内越来越重视软件工程的概念了。这点笔者深有体会,笔者现在所在的是只有十来个人的小软件公司都开始尝试软件工程管理了,尽管还很不完善,但毕竟开始了。很多软件公司开始接到关于询问是否需要进行CMM培训,推销某个新的项目管理软件或者最新的除错软件的电话也有不少。网上软件工程方面的中文资料越来越多了,关注和参与的人也越来越多了。在国际大潮的推动下我们开始真正认知了什么是软件生命周期的全过程,我们应该怎么做。
当然笔者目前还没有能力对中国目前软件工程化做什么判断和断言。但相信会越来越好。只是在这个学习的过程中,我们要保持清醒的头脑,不能盲目追求最新的技术,也要根据自己的实际情况,循序渐进来发展。
选择:“混乱”的时代 安定的心
“真是一个混乱的时代!”的确在2003年,在软件开发技术这块领域里,我们脑子里出现很多问号。我们在努力地选择自己学习的方向和所从事的领域的方向。因为,2003年软件技术的发展现状已经在告诉人们这样一个信息:今天整个软件技术的发展趋势正在走向信息技术整合。
那么,我们又应该怎样才能在竞争越来越激烈的软件业里保持竞争力呢?这里笔者想借用李维先生在他的书中对未来开发者所应该具有的技术特质的分析:
了解多种程序语言;
熟悉更多的系统架构;
面向对象和UML模型技巧;
快速学习增强开发的能力;
精致化的开发能力。
