最近可谓是热闹之极,对于.NET的争论再起风波,不过,这一次的争论起源于。NET阵营内部,我认为这是一种好的现象,因为这表明.NET阵营内部在反观自己,或者用中国式的说法就是在自我批评。自我批评是进步的表现。
这一次争论的焦点并不在于技术本身,而在于微软对.NET的发展态度。中国有句俗话,清者自清:无论别人怎么说,我坚持我的想法和做法,总有一天我会用行动证明哪些人说的都是错的。从微软的行动看,微软不知道中国的这句俗话,因为微软开始对这场争论回应。以前也有很多贬低.NET的言论,甚至有不少重量级的人物的言论,但是微软都在用自己的强势的行动做出了回应,而这一次是语言上的。微软为什么这么快的对这场争论做出语言上的而不是行动上的回应?甚至可以从微软的言论中可以看出,微软都没有好好准备就出来回应了。
当然,这其中有一个很重要的因素,那就是这场争论针对的是微软一直没有采取的行动,例如用.NET重写Office。所以,微软就无法用行动来证明了,只能用言论来反驳。但是,我认为微软这次如此之快的做出反应,其实还有另一个因素,那就是微软担心这次争论最终导致开发者对.NET失去信心。
一场战斗中,最重要的是将领,将领都无心作战,那么战士就更不用说了。所以,微软如此之快的出来辟谣,反驳负面的言论是正常的。但是,在微软出面之前,网上的很多言论都表示了对.NET的信心,甚至有人讥笑发起者的对.NET的不了解和想法的幼稚。可以说,争论一开始就是对.NET是正面的,而不是负面的,那么为什么这场争论还可以不断地延续到现在,甚至还有蔓延的趋势?因为更多的争论参与者针对的已经不是.NET,而是微软本身。
换句话说,不是开发者不相信.NET,而是开发者不相信微软。
其实,开发者对.NET是赞同的,是向往的,对于开发者来说,.NET的概念是否模糊并不重要,因为开发者在用.NET实现自己对.NET的理解、希望和梦想。但是,微软却在逐渐的粉碎开发者对.NET的梦想。
从2000年到现在的2005年,微软在2000年用beta版的.NET激起了无数开发人员的激情,2001年用.NET 1.1在这些激情上再点燃了一把烈火,然后再在2002年用.NET 1.1把火烧的更旺。但是从1.1开始,开发者开始发现自己对.NET的梦想被微软粉碎了。
最开始是在开发人员还未对1.1熟悉的情况下,网上就开始出现2.0的身影,然后就是对于1.1的各种开发资料在微软的网站上开始逐渐的缺失,以致到现在,微软的网站上关于2.0的资料就占了80%以上,开发者开始感觉到自己在被微软抛弃。如果把微软比作一个火车头,开发者车厢,那么,就是火车头在不断地加速向前开,却从来不顾后面的被它拖着的车厢是否在这样的速度下行驶。当然,不断地发展是必须的,其实我没有理由说微软发展的太快,因为发展是必然的,快速发展是必要的,但是我们看到,从2000年到现在,.NET即将进入2.0的时代,而在.NET的框架上没有一个成熟的应用框架,这就意味着,微软要让开发者在一个几乎没有基石的平台上向一个更高的平台跳跃。尽管微软自己推出了Application Block,然而正是这个Application Block却彻底将开发者的梦想粉碎了。
当.NET推出时,一场声势浩大的工程也就随之开始,那就是将Java下已经有的成熟的应用移植到.NET上。说声势浩大决不夸张,有的应用是被直接在语言级别上转化而来,而有的应用在移植的同时也在尝试新的技术。无论这些应用如何,它们在极大程度上为.NET的成熟应用打定了基础。例如,log4net,nant,spring.net,nhibernate, castle等等。它们分别在日志,编译工具,O/R Mapping,AOP等等领域丰富了.NET世界。而移植/开发它们的开发者无不是被.NET吸引而来,无不是为这.NET世界的美丽梦想而来。但是这一切正在被微软逐渐击破。例如,微软用自己的日志打击这log4net,用msbuild打击nant,将来的objectspace也许将在AOP、O/R Mapping等多个领域打击现有的成熟应用。微软就像生化危机中的那只初期试验的动物一样,嗜血本性实足,在吃掉对手的同时,会吸收对手的基因,从而迅速进化为更凶猛、更具攻击力的新的生物。
因此,可以说,微软的行为正在导致开发者对微软失去信心,所以,微软这次的行动就是为了保持开发者对微软的信心,避免开发者的流失。然后,梦想破碎了,希望也就消失了,信心自然就灰飞烟灭了。当然,我不希望看到这样的结局,我更希望微软有更好的方式重拾开发者对.NET的梦想、信心和希望。
这一次争论的焦点并不在于技术本身,而在于微软对.NET的发展态度。中国有句俗话,清者自清:无论别人怎么说,我坚持我的想法和做法,总有一天我会用行动证明哪些人说的都是错的。从微软的行动看,微软不知道中国的这句俗话,因为微软开始对这场争论回应。以前也有很多贬低.NET的言论,甚至有不少重量级的人物的言论,但是微软都在用自己的强势的行动做出了回应,而这一次是语言上的。微软为什么这么快的对这场争论做出语言上的而不是行动上的回应?甚至可以从微软的言论中可以看出,微软都没有好好准备就出来回应了。
当然,这其中有一个很重要的因素,那就是这场争论针对的是微软一直没有采取的行动,例如用.NET重写Office。所以,微软就无法用行动来证明了,只能用言论来反驳。但是,我认为微软这次如此之快的做出反应,其实还有另一个因素,那就是微软担心这次争论最终导致开发者对.NET失去信心。
一场战斗中,最重要的是将领,将领都无心作战,那么战士就更不用说了。所以,微软如此之快的出来辟谣,反驳负面的言论是正常的。但是,在微软出面之前,网上的很多言论都表示了对.NET的信心,甚至有人讥笑发起者的对.NET的不了解和想法的幼稚。可以说,争论一开始就是对.NET是正面的,而不是负面的,那么为什么这场争论还可以不断地延续到现在,甚至还有蔓延的趋势?因为更多的争论参与者针对的已经不是.NET,而是微软本身。
换句话说,不是开发者不相信.NET,而是开发者不相信微软。
其实,开发者对.NET是赞同的,是向往的,对于开发者来说,.NET的概念是否模糊并不重要,因为开发者在用.NET实现自己对.NET的理解、希望和梦想。但是,微软却在逐渐的粉碎开发者对.NET的梦想。
从2000年到现在的2005年,微软在2000年用beta版的.NET激起了无数开发人员的激情,2001年用.NET 1.1在这些激情上再点燃了一把烈火,然后再在2002年用.NET 1.1把火烧的更旺。但是从1.1开始,开发者开始发现自己对.NET的梦想被微软粉碎了。
最开始是在开发人员还未对1.1熟悉的情况下,网上就开始出现2.0的身影,然后就是对于1.1的各种开发资料在微软的网站上开始逐渐的缺失,以致到现在,微软的网站上关于2.0的资料就占了80%以上,开发者开始感觉到自己在被微软抛弃。如果把微软比作一个火车头,开发者车厢,那么,就是火车头在不断地加速向前开,却从来不顾后面的被它拖着的车厢是否在这样的速度下行驶。当然,不断地发展是必须的,其实我没有理由说微软发展的太快,因为发展是必然的,快速发展是必要的,但是我们看到,从2000年到现在,.NET即将进入2.0的时代,而在.NET的框架上没有一个成熟的应用框架,这就意味着,微软要让开发者在一个几乎没有基石的平台上向一个更高的平台跳跃。尽管微软自己推出了Application Block,然而正是这个Application Block却彻底将开发者的梦想粉碎了。
当.NET推出时,一场声势浩大的工程也就随之开始,那就是将Java下已经有的成熟的应用移植到.NET上。说声势浩大决不夸张,有的应用是被直接在语言级别上转化而来,而有的应用在移植的同时也在尝试新的技术。无论这些应用如何,它们在极大程度上为.NET的成熟应用打定了基础。例如,log4net,nant,spring.net,nhibernate, castle等等。它们分别在日志,编译工具,O/R Mapping,AOP等等领域丰富了.NET世界。而移植/开发它们的开发者无不是被.NET吸引而来,无不是为这.NET世界的美丽梦想而来。但是这一切正在被微软逐渐击破。例如,微软用自己的日志打击这log4net,用msbuild打击nant,将来的objectspace也许将在AOP、O/R Mapping等多个领域打击现有的成熟应用。微软就像生化危机中的那只初期试验的动物一样,嗜血本性实足,在吃掉对手的同时,会吸收对手的基因,从而迅速进化为更凶猛、更具攻击力的新的生物。
因此,可以说,微软的行为正在导致开发者对微软失去信心,所以,微软这次的行动就是为了保持开发者对微软的信心,避免开发者的流失。然后,梦想破碎了,希望也就消失了,信心自然就灰飞烟灭了。当然,我不希望看到这样的结局,我更希望微软有更好的方式重拾开发者对.NET的梦想、信心和希望。