QQ关于.net的精彩对话
[序言]我想很多爱好软件编程的网友都像我一样,对微软推出的.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的快车。