Dot net从1.0开始现在已经到4.0了,而且从2.0到3.0再到3.5、4.0之间更新的更快,快的人都没有感觉了。我的这篇随笔希望和大家讨论下,我们有没有必要跟着微软跑那么快,跟着微软跑那么快的意义何在,跟着跑需要付出什么,付出和收获是否相当。
需要先跟大家说明一下我的个人情况。我们公司在07年前半年很多还都在用1.1的版本,到后半年逐步使用2.0,使用2.0主要的原因是要配合64位的服务器,也是直接将以前的项目做了下转换,在VS 2005中重新编译了,就是说并没有使用2.0的一些方便的新特性。可以说公司本身对版本没有什么敏感的。而另一方面,我个人家里的机器上现在有VS2008和VS2005两个版本的IDE,而我现在也并没有完全跟上微软的脚步,许多3.5的新特性比如说LINQ我只是看过资料,玩过几个demo,而并没有深入去学习并使用到实际项目中。
言归正传,我先写下我理解的紧跟微软的好处。微软的每一个新版本都会带来一些非常实用方便的功能,比如2.0引入了泛型,匿名委托,既可以提高程序的性能,而且强类型的List还可以减少错误,匿名委托还可以使程序看起来更简洁,后来的拉姆达表达式(Lambda expressions)替代委托就更方便了,LINQ也是微软的一个创举把所有的集合数据统一处理,而且性能上还不会有太多影响,WCF比以前的Remoting的东西据说也是好用了好多,等等,总之,这些新技术,新的IDE都可以给我们开发带来很多的便利性,使我们开发更容易。
好处是显而易见的,但是我们也不妨想想坏处,最大的坏处是我们得有学习的成本,也会你会小看这个成本,认为作为技术人员必须去付出这个学习的成本。但是,事情往往没有你想象的那么简单,假如你是一个新技术的狂热者,但是你不能保证你的同事,都是技术狂热者,首先,你的领导,公司的高层CTO级别的人,他们关心的不是你的开发中有没有使用拉姆达表达式,他们更关心的是你的程序是否能有效无误的满足业务上的需求,这一点无可厚非,技术必须服务于业务;其次,同样是做技术开发的同事,你无法保证你的团队成员都学好了新技术,在这种情况下,假如你用了VS2008,并用了LINQ或者拉姆达表达式,你的同事没用过,他们根本看不懂你写的LINQ或者拉姆达表达式,他们要维护你写的代码的时候,就得先学习理解你的代码,这样便对沟通造成影响,这个影响很大。
也就是说你用了最新的技术,就得保证你的团队中的每一位都付出学习的成本,来享受微软新技术带来的新特性,新快捷。如何保证所有同事都付出学习成本,这是个问题,因为公司高层不会在意技术人员是否使用新技术,公司也不会让大家把工作的时间放到学习新技术上。
这是个问题,您怎么看待这个问题?您有什么好的想法?Dot Net版本更新迅速,您跟的上微软的步伐吗,有必要跟吗?
网友评论