Read Sean

大胃眼中的.NET和其他

导航

.NET, 想说爱你不容易[续]

Posted on 2005-03-19 15:48  大胃  阅读(2173)  评论(28编辑  收藏  举报

 

由于我的随笔给这里带来了一些不必要的争吵,对此我深表歉意。

通过这两天从不同渠道了解到的信息,我想我原先对.NET的认识和理解是有偏差的,至少是有些过时或者偏颇的。下面这一篇选自MSDN,是很好的一篇文章,相信可以说清楚很多在我的这篇随笔中的疑问:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnreal/html/realworld06012004.asp

也许是我的Java背景,我倾向于从虚拟机和平台中立的角度去看待.NET,或者说,我希望.NET是这样的一个框架。但是事实上,.NET也许从来就没有打算要100%的平台中立,甚至它在很大程度上、在未来很长一段时间之内还需要依赖原有的COMWin32 API,它更是一个runtime而非VM,它是打算在Windows平台上增加另一个有价值的抽象,使我们针对Windows的编程变得前所未有的容易。

(在这篇MSDN文章之外需要补充的是:近两年SUN也倾向于把自己的虚拟机/运行时叫做JRE – Java Runtime Environment,尤其是推出HotSpot技术以后,Java程序会被动态分析和部分编译成本地代码执行。)

但是这正说明了一种我也许无法接受的微软作风:想当年,微软何其郑重其事的将.NET Framework的一个子集:JScriptC#CLI,注意,是CLI不是CLR,拿到ECMA去申请标准化,多么开放的姿态。(也许正是微软这个举动让我误以为.NET会平台中立吧。)如今,MONO项目已经说明不了什么了,或者说,已经没有什么说服力,这些标准化的进程又带来了多大的技术上的进步和创新?

在我看来,开放的姿态对于一个大型的框架/技术的发展和完善而言是相当有好处的,但是由于微软对的.NET的绝对控制,.NET走的是跟Java截然不同的路线,这对我来说是一种无奈。

最近,另外一种现象也引起了广泛的关注:那就是微软在.NET社群已经有了相对成熟的Log4NETNAntNUnitSpring.NETNHibernate等等工具/框架之后,准备推出自己的一套东西并集成进Visual Studio .NET,这也许会引起一些人的不满,不过也许就像 I坐标 所说,这个是微软的本性。

对于开发人员来讲,我们当然会在一定程度上有选择的自由,每个人对.NET,对微软,乃至对C++,对Java等等也有不同的看法,一旦选定了自己的方向和对策,就一如既往的坚持走下去吧,不要被包括我在内的许多人和媒体的“片面之辞”蒙蔽了双眼。对于这些观点、看法,大家有选择看和不看的自由,也有选择信与不信的自由,信息社会嘛,就是这么简单。

还是那句话,我是来这里学习的,我认为.NETJava两个社群需要多多交流,相互学习,而不是言语上的相互攻击和对立。唯有虚心的、对事不对人的态度和探讨才有价值。