由于项目的需要,我开始学习.NET了。正所谓“人在江湖,身不由己”,多年前,我庆幸
自己终于离开Delphi,离开了Windows的平台,可是没想到,在Java混了没几年,我又不得不
回到这个自己极度想离开的平台。
世界太小了--这句话对于开发语言来说同样适用。
因为时间比较紧,所以去附近的书店找了一本比较薄的.NET书,因为正版的光盘还没邮寄过
来,所以先借了朋友的盗版光盘去体验一下环境。
那本书虽然不是名著,但是讲得还不错,暗自庆幸自己先前学了JDK1.5,所以c# 2.0的好多
内容都很容易理解。
边看书边做例子,用惯了Eclipse,用VS2005还真不太习惯。不过还好,IDE做得实在强,磨
合起来也不是很困难。
基本的内容看完,又上网看看测试方面的工具,发现了好多熟悉的身影:NUnit, NDBUnit, 等
等。甚至还有 Spring for .NET, Ibatis for .NET, Hibernate for .NET!原来.NET的世界也是丰富多
彩啊!
过了几天,公司开始组织培训了。来讲课的人是总公司的一个高手,这次我们用的框架是掌
门人微软给做的。发现了Java世界中熟悉的身影:表现层,应用层,业务层,数据层。甚至还
有那么一点点的IOC的概念在这个框架里面。
测试工具那更是不得了,微软官方出品得Team System,集成在VS2005里,测试,生成报
告,计算测试覆盖率,一应俱全。
Debug功能也是强得不得了,Debug过程查看数据库,等等,非常方便。
持久层,那更是强大,微软力推的DataSet 果真厉害,也是一个ORM,但是威力却巨大,使
用也非常简单。
总之,.NET的世界确实强大,相信它的确会占据更多Java曾经占据过的地盘。
但是.... .....
我们发现,我们已经被微软牢牢地控制住了,语言,IDE,测试工具,框架,持久层,服务
器,每一个都是微软的!我们就好像傻瓜一样地使用那些工具,但却不知道这些东西到底是怎
么回事!
而且,有些东西虽然看起来很简单,但是实际用起来,你却要遵守一些莫明其妙的规则,而
且更重要的是,这些解决方案只会有一家能给你答案,那就是微软,你想换一个?换吧,等我
微软的平台升级,我看你能吐出来多少苦水?
Java,Ruby 的世界一直在追求如何解放开发人员,让开发人员更好的投入到业务的处理当
中去。
微软的世界一直在追求如何傻瓜化开发人员,让开发人员终身使用微软的产品。
一个是开放的有所追求的世界,一个是封闭的逐渐傻瓜化的世界,你会选择哪一个?
话所到这里,并非在贬低微软的平台--其实这真是一个非常了不起的平台。但唯一可惜的
是这不是开发的平台,而且微软也不会容忍其他人在这个平台上站立起来。
最后想说的是c# 2.0 非常强大,据说 3.0 会更加强大--尽管如此,我仍然还是会花一些
时间在那些开放的平台上的。