经常在网站上看到有人抱怨:
“微软的技术怎么更新这么快,.Net2.0、3.0、3.5、4.0、4.5,我的妈呀,都跟不上微软的步伐了!”
“还没学会Silverlight3.0,Silverlight4.0就出来了,Silverlight4.0还没学会,5.0都出来了!好吧,我学了半天,听说微软要放弃Silverlight了,微软你妹呀!”
“微软你能不能把技术搞成熟点,WebForm我刚掌握了,你出了个ASP.Net MVC,岂不是把我们学习WebForm的都淘汰了?”
“还在搞Winform,WPF、WCF、Silverlight这些都还没去学,现在微软又搞出来一个Windows 8!永远也赶不上微软的技术更新速度!”
当然也有人幸灾乐祸,Windows Phone 8推出的消息发布后,有人窃喜“多亏我没学Windows Phone7开发,否则Windows Phone 8出来我又要从头学习了”!
而Java社区的人则很少看到这种抱怨:EJB被淘汰、Hibernate兴起的时候没人骂;JDK升级到7.0增加了很多新特性的时候没人骂;Struts 2底层弃用Struts 1改用Webworks的时候没人骂;出了Java开发Android技术的时候没人骂; Android 3升级到Android4没人骂……
怎么就是微软社区的人这么爱骂,这么守旧?也许这些朋友恨不得微软出一个技术,这个技术永远不升级、不更新,然后他们靠着这个技术可以吃一辈子“铁饭碗”!
世界上没有真正的“铁饭碗”,就像国企改制时,曾经的“铁饭碗”都瞬间打破变成了碎渣,没有竞争力的人只能下岗,因此只有自己拥有的核心竞争力才是真正的“铁饭碗”。
IT行业本身就是一个知识更新非常快的行业,但是这个“更新、变化”中是有不变的东西的,必须掌握以不变应万变的技能才能笑对“风云变幻”。
以Silverlight 2、Silverlight 3、Silverlight 4等这些不同版本为例,微软只是在新版中增加了新的功能,使得在旧版本中很难做到或者不能做到的事情变得能够很好的实现了,并没有什么翻天覆地的变化。你掌握了Silverlight 3开发,接触Silverlight 4你除了对于新特性更兴奋之外,不会再有说“学一个新技术”的感觉。同样Windows Phone 7开发的技术绝大部分都可以直接用到Windows Phone8开发上,只要学习一下WP7和WP8部分类和差异性以及学习一下Windows Phone 8新特性就可以了,所以说“多亏我没学Windows Phone7开发,否则Windows Phone 8出来我又要从头学习了”这样的人完全没有意识到自己多么可悲。
以WPF、Silverlight、Windows Phone、Windows 8这些“新技术”来讲,这些技术看似名字不同,其实最难的部分就是XAML,这些技术里的XAML几乎是一摸一样,也就是你掌握了其中任何一个技术都可以轻松的掌握其他技术的开发。比如我在备课如鹏网Windows 8开发培训课程的时候,就是在我之前讲Windows Phone的课件的基础上进行的修正和改进而已。发出“还在搞Winform,WPF、WCF、Silverlight这些都还没去学,现在微软又搞出来一个Windows 8!永远也赶不上微软的技术更新速度!”这样感叹的人根本就没有去了解这些技术。而且明白了这个,说“我学了半天Silverlight,听说微软要放弃Silverlight了,微软你妹呀!”这样抱怨也就可笑了,先不管“微软放弃Silverlight”这个消息的真假,哪怕是真的,你掌握了Silverlight开发技术那么也就约等于掌握了Windows Phone、Windows 8、WPF的开发,高兴还来不及呢!
再以ASP.Net技术来讲,也有人抱怨微软在ASP.Net新版本中很多旧的控件不推荐用了、增加了很多新的控件,学不过来。其实如果你学习ASP.Net是从原理开始学习的,明白Http协议、明白ASP.net控件内部原理是怎么回事、明白不使用控件如何进行开发等,那么相信你不会因为那几个控件的变动而大呼小叫,即使WebForm没有了,大家都用ASP.Net MVC,那么如果你对ASP.Net真的研究透彻,那么学习ASP.Net MVC只是需要几天时间熟悉一下就会用了。
所以让我们摒弃微软技术社区的浮躁,踏踏实实研究点技术吧!