学习.Net技术的时机到了?

软件世界

微软又一颗重型炸弹

Visual Studio.Net是一个包括Visual Basic和Visual C++在内的许多微软的流行开发工具经过改进后的开发工具软件包。据说微软将在2月13日公开发售这款工具软件。
最近一段时间里微软为了吸引开发者开发.Net软件,推出了许多.Net开发工具。比如微软发布的免费让客户将Office连接到使用.Net开发的Web服务中的工具软件。除了通过发布大量的软件开发工具来培植市场外,微软还与包括施乐在内的一些厂商就开发、使用.Net应用软件达成了战略性协议。
说到这里,我们不得不提及一下J2EE。J2EE是什么?J2EE是Java2 platformenterprise edition的缩写,意为Java 2平台企业版。J2EE是一种利用Java 2平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
Visual Studio.Net的发布是微软.Net战略关键的一步。犹如在原本动荡不安的市场引爆一颗重磅炸弹。对那些已经在J2EE上投入大量人力物力的公司造成了不安,因为一旦.Net成势之后,自己的投资将会付诸东流。而不少小型的原先只能处理Windows平台应用的公司自然跃跃欲试,希望藉此鲤鱼跳龙门,一举成名。双方各有打算,都希望自己的阵营成功。平心而论,Visual Studio .Net应该是不错的。但它毕竟比J2EE迟了好几年。不少公司已经投入J2EE的建设中,这些公司不一定会倒回来改用.Net。
目前,实现电子企业和电子企业协作也就两种方案。一种是微软的.Net平台,另一种就是SUN的J2EE。选择C#还是JAVA,ASP.Net还是JSP的争论,在技术论坛中也一直是最热门的话题。现在随着Visual Studio.Net的正式推出,.Net和J2EE究竟哪个好?应该投身哪个平台?我们应该如何学习,如何入手呢?

.Net和J2EE之间的对垒

.Net和J2EE两者的体系太过庞大,要想在短短几行之中完整全面地描述简直是不可能的。其中涉及的软件技术和概念足以让初学者晕头转向。因此,本文只从初学者角度入手,简单地进行对比。
开发效率方面:对程序员来说选择开发工具最需要衡量的就是这一因素。微软的VisualStudio一向都是开发工具中的佼佼者,最新推出VisualStudio.Net开发套件涵盖了Web界面,中间层和后端数据库开发的全部过程。这个方面J2EE的确欠缺很多。
但是如果你将要开发的产品是在微软的系统平台上运行的,今后也不会改变,那Visual Studio.Net应该是明智的选择。如果你的系统是跨平台的,你必须考虑的还是J2EE。
系统成本方面:成本问题至关重要,根据目前笔者能得到的资料来看,微软的产品价格便宜一些。但是万一微软再次垄断后会不会开出天价,没人可以预料。另一方面,JAVA因为是跨平台的,因此能够很好保护原来有的投资。许多大型企业都在使用IBM,SUN的大中型主机。如果采用微软的.Net,就必须考虑购买新机的硬件成本。
性能方面:在这点上微软的.Net有显著的优势。尽管J2EE不断改进,.Net速度还是远胜于J2EE。来自微软的消息说.Net比J2EE快28倍。当然这其中也许有商业夸大成分。不过,JAVA运行速度的确不如人意,笔者曾做的一个从C++改型到JAVA项目中,速度就比原先慢了许多。
稳定和安全性:安全和稳定向来是JAVA值得炫耀的,相反,.Net出师不利,前几天又爆出一堆Bug,还有人利用旧的Windows漏洞写了个“.Net病毒”尽管后来查明不是.Net病毒,但还是把微软吓得不轻。

现在该学.Net了?

总体而言,.Net和J2EE有大致相同的功能。但是彼此用了不同的方式和工具之后,客户面临的选择则是两者取其一:JAVA还是C#;iPlanet servers还是Enterprise Servers;ONE Webtop还是Office.Net;Forte开发工具还是Visual Studio.Net。
由于微软Windows系统相当大范围的普及,当我们真正对e化的需求呈几何级数字上升的时候。.Net应该是最好的,简单易用,开发便捷和价格低廉。加上微软提出的JUMP专案(JAVAUserMigrationPath)它可以帮助使用者把以前用Visual J++写的JAVA程序移植到未来的.Net平台上,那真会让一般的用户和不少小企业改用.Net 平台。
但是,对于大中型企业而言,他们往往已经有了很成熟的应用,IT预算雄厚。他们注重的是可靠性,需要极好的兼容性和稳定性。况且很多大企业都采用非Intel平台,无法运行微软的系统。这样一来,JAVA就成为他们的不二选择。而且J2EE是目前已经成熟的企业运算架构,比.Net更完备。
编后:相信通过以上的分析,对初学者理清思路、确定自己的发展方向也该有些帮助。不管是J2EE,还是.Net也好,学习所花的工夫不会白费。先学会了J2EE再接触.Net,也许会觉得得心应手、游刃有余: 反之亦然。大家不必观望。还是抓紧时间好好精通一门才是正道。(图1)

图1
图1