日期:2008-04-15  浏览次数:20343 次

  [序言]我想很多爱好软件编程的网友都像我一样,对微软推出的.net平台充满了好奇,但是看了相关的文档也是一头雾水,还好,Purple很幸运在QQ上遇到了一位.net高手,经过高手的一番教导,Purple已经对.net了解到了些皮毛,虽然很少,但是对进一步认识.net是很有帮助的。有兴趣了解.net的朋友,不妨看看下面的这段“关于.net的精彩对话”。

开始:

Purple:
我对.net没有什么概念!

Darkroad:
给你一个现场办的培训:Java知不知道?

Purple:
知道。

Darkroad:
当年Sun推出Java力图一统江山,微软又怎能忍得下这口气?

Purple:
java是一个编程工具。

Darkroad:
是一门跨平台语言。Sun的意图就是大家都使用Java,这正是触动了微软的利益。因为微软最希望看到的是大家都基于Windows系统。问题是win当年的性能、稳固性、安全性都不行,所以只能应用于小规模的系统。

Purple:
那vb,vc不是很好用吗?

Darkroad:
对,只是vb、vc只能在windows上编程。
绝大多数的规模应用,例如银行、航空、企业ERP,莫不是基于Sun的Oracle+C++或IBM的DB2+C++,又或者HP的系统。可是随着软硬件体系的发展,Microsoft/Intel平台越来越有实力了。
企业内的多种应用系统并存的现状,又将系统间的互通提到了一个重要位置。而这个时候,Internet时代到来,这种互通范围更加广泛了,甚至有可能是公司与公司之间,国与国之间的互通。
Sun Java的跨平台性恰恰具备了这个优势,另外,世界上更有无数使用Java编成的程序员,数量决不在微软的开发工具之下。
而微软为了对抗Java,也使出了本地化Java的绝招,就是让Java在Windows上的版本与Sun的版本不兼容。这当然惹怒了Sun,于是Sun就将Microsoft告上法庭。最后微软放弃了对最新版Java的支持。

Purple:
这么复杂?

Darkroad:
另外,一批以Java做为基础的中间件(应用层)供应商迅速崛起,他们的目标就是建立企业间应用的标准接口。
微软当然不会没有看到着生死存亡的威胁,本地化Java,甚至放弃支持Java,其实都是其缓兵之计。
Purple:
那怎么办?

Darkroad:
微软一方面施计拖住Java平台拓展,另一方面,励心图治,埋头苦干。在推出了Visual Studio 97后五年内,一直没有拿出新的开发工具和应用解决方案。而其竞争对手之一,当年大名鼎鼎的Borland公司,也就是现在的Inspire公司,一到两年就推出一些新版的工具。

Purple:
呵呵

Darkroad:
可见微软为了创建一套惊人的解决方案,已经决定彻底的革新自身。
在2000年微软推出了.Net的alpha版和beta1版,在2001推出了beta2和beta3版,直到2002年推出最终版。每一版与前版都存在巨大的改进,其中无数的程序员系统专家都参与其中,提出改进建议。这在微软开发史上是少见的。

Purple:
我知道了,.net就是和java 差不多的。

Darkroad:
非也非也,差得很远!

Purple:
有什么区别?

Darkroad:
Sun的Java方案时使用一种语言,一套平台一统天下,号召程序员们,最后最好都转到Java平台上,使用一种语言开发,可以在任意平台上运行。因此Sun的Java归纳了应用开发方面的主要接口,包括数据库接口、图形接口、界面接口、还有关于服务器并行运行以及调整性能的接口等等。
如果不是因为Java的运行速度较慢,说不定早两三年他们的这一野心就已经实现了。
当年微软正是因为在世界上最多人用的操作系统上,能够提供速度最快的程序,才没有优势尽丢。当然另一个原因是有很多程序员已经习惯了使用其工具。

Purple:
你直接讲就可以了!

Darkroad:
你不是想了解.net吗?

Purple:
想!我知道了.net比java功能更强大。

Darkroad:
哈哈,刚才不是说到Sun的Java像一统天下吗?
微软这次想到了一个更绝的招数。微软认为,现今世界上已经存在了各种各样存在巨大差异的应用系统。这种差异包括了系统方面的差异,例如使用了不同公司的产品;包括应用开发方面的差异,例如银行与其他业务系统,甚至银行与银行内部间的差异。等等。关键在于找到一种大家都可以沟通的约定俗成的方式。
Sun是希望统一通过Java解决的,因为Java可以跨平台。可是世界上有这么多应用不是使用Java开发的该怎么办?有这么多程序员不熟悉Java该怎么?

Purple:
不知道。
Darkroad:
微软通过Internet巨大的传播力量找到了答案。
微软认为应用本身以什么形式表达并不重要,不管你是使用Java还是使用VB。关键在于你如何找到对自己有用的应用,并识别对方的使用方法以及返回的信息,这才是最重要的!就像我想写一个和招行的接口,我最关心的是招行如何帮我代收费,而其非如何编写这个代收费系统。
Internet提供的方便的寻址,以及标准的数据格式和接口,正是可以借助的最大依据!

Purple:
internet?

Darkroad:
Yeah!
.Net是紧紧围绕Internet为核心的。
.Net提出的概念中,WebService(万维网服务)是最重要的之一。什么叫做WebService?是指能够提供一定功能,并且符合.Net接口标准的服务。例如招行的代收费系统,如果使用.Net的标准,提供了调用该应用的接口,并且使用了标准的数据返回格式,那就可以成为WebService。
Web Service并没有强调使用什么工具开发,既可以是Java也可以使vb/vc等等。

Purple:
oh!

Darkroad:
Sun想以Java一统天下,微软偏偏使用开发性接口将Java纳为自己体系中的一个部分,管你是Java还是VB还是什么其它的东西,统统都是我的!

Purple:
这么厉害!

Darkroad:
对呀!不过开始的时候,这当然是微软的一厢情愿了,如果没有其它人的支持,微软也是白做。Sun理所当然的抗拒这一系统,所以在Java阵营中,迟迟没有定义好对于Web Service的支持。
话要说回来,微软又有这么多传统程序员支持,就算它的理想不能实现,至少也可以保持自己的阵营不败。
不过最决定性的是,IBM决定加入这个阵营!:)结果导致,Sun的抵制变成了一种落伍!这一点太致命了。

Purple:
那java没有前途了。

Darkroad:
对呀!不过所幸,Java语言本身还是有很多爱好者的,另外他在中间件市场的优势,也不会让其衰落。
可是为什么IBM会加入这一阵营呢?我想还是因为其开放性。其实IBM也看到了微软的软肋了。你想想,在Web Service中我可以不使用Java,但我同样也可以不使用你什么vb/vc的,这岂不是找到了可以公平竞争的好机会了?

Purple:
真聪明!

Darkroad:
IBM不但要加入,而且要做老大,现在不是正可以借助这个机会大大扩充一下自己的实例吗?IBM才不想让Sun一家独大,踩住自己的命门。另外,IBM也是最大的中间件供应商之一,.Net体系是能够让其迅速发展的机遇之一。
那微软呢?当然非常清楚这一点,但是他们也有信心在自己推出的体系中取得长足的优势!因为VS.NET Studio中提供的VB.NET,C#.NET,还有ASP.NET,ADO.NET无一不是围绕其中进行优化,正所谓艺高人胆大嘛!
哈哈,看来IBM和微软是各怀鬼胎了。
最惨的就是Sun了,这次算是输了半招。当然看清形势后,他们也在迅速的拓展其Java平台,以便能够搭上这次.Net的快车。