Jim Farley:这是个很好的问题,而且经常有人会问这样的问题。这里有很多实际的例子,微软花了很大力气来重新设计它的基础架构,就是为了使其适用于WEB服务。作为一个公开的标准,J2EE很自然的也会长期跟踪、升级它的一些协议、规范。但是假如你把商家和商家相比较(比如说微软和BEA,IBM),那么,你就会发现,在Java的领域里,存在很多模糊的WEB服务解决方式。对于Java团体来说,假如把这些模糊概念变成规范,那么,Java的发展必将会更好。
Jim Farley:非常正确。在理想环境下,这两种平台在WEB服务规范和支持基础架构上应该毫无关联的,与"SOAP/WSDL/UDDI"相互融合应该是一个很好的机会。但是,一般商家的"value-add"问题会仍然存在(微软就是一个最大的商家,但却不是唯一的一家具有保守心理的商家)。不公开化这一附加因素将会使WEB的集成会象使市场成熟那样困难。
Fogus:就微软认为C#即是Java这一概念,您是怎么理解的?为什么我们只能选其一?
Jim Farley:假如你能够忽略平台问题,那么严格上说你就要做一个人为选择:你最喜欢用哪种语法/编程模型/对象模型?就我个人观点来讲,这几种模型都是没有明确界限的,但是,平台会对此作一个硬性规定,Java是J2EE的基础,C#和一般运行环境是.NET单一平台的基础。因此,C#同java的比较实际上又回到了J2EE 同 .NET进行比较这一问题上。
Joe:针对Java Pet Shop的应用,微软对.NET及其性能、代码缩减等问题作了很多改进,针对这一点您有何评价?.NET的速度真的是更快吗?
Jim Farley:我想,很明显这只是一种推销手段而已。我认为所谓的代码缩减只是一个幌子,假如我单纯只是为了易于治理而缩减代码,这并不是明智之举,更谈不上其对基础架构有何真正意义。假如你要对不同商家的产品进行比较的话,只能比较它们的性能,而不能把.NET的某一方面的突出特点同J2EE的整体基础架构进行比较。
Jim Farley:假如要完整的回答这个问题可能要占用很多时间!假如想要更多了解这些,可以看看我写过的一篇文章Software Development里面提到了这些。在这里,我只能简单地说.NET在XML和Wintel集成方面比较擅长而J2EE则在方便性和可选择性上存在优势。
David from BofA:根据您所说的在J2EE 和 .NET之间不可能存在明显的区分界限,那么,对于一个初学者来说,哪一个更适合初学者来学习(假设必须选其一的话)。
Jim Farley:假如从内容以外来对两者进行比较是很困难的,这要看你为哪种类型企业工作、你的客户喜欢什么、你将来的技术/市场策划是什么等等许多因素。假如你打算只在微软这种只使用Wintel的环境下做一些前瞻性的工作(无论是为个人还是为企业),那么显而易见,.NET是首选之举。假如你认为自己不是唯一的商家,而是要考虑到来自于其他平台的竞争,或者你想把你自己的产品和客户发展到其他平台上,那么J2EE将是你最佳选择。