接受CSDN采访文章:
http://news.csdn.net/n/20071211/111619.html
专家看台:新技术不断,微软系开发者如何面对
记者:微软不断出现的新技术和产品是否给微软技术的开发者们带来了学习上的难度?能否谈谈你是如何联系已有技术学习新技术的?
李洪根:微软的技术主要是基于<nobr><strong class="kgb" οnmοuseοver='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u5E73_u53F0";KeyGate_ads.ShowGgAds(this,"_u5E73_u53F0",event)' style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; CURSOR: hand; COLOR: #0000ff; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: underline" οnclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=B2g7quUdeR-bAF6O0sAL-g5jnCe2fpTap1vzLA8CNtwHQyhYQDBgMIIL2kgsoFDgAUJ3y29X5_____wFgnbnQgZAFqgEKMjAwMDAxNjEyM7IBDW5ld3MuY3Nkbi5uZXTIAQHaAStodHRwOi8vbmV3cy5jc2RuLm5ldC9uLzIwMDcxMjExLzExMTYxOS5odG1sgAIBqQK00AoU1i2CPsgCtaysAagDAegDIOgDH_UDAAQAAA&num=12&adurl=http://www.jwx.com.cn&client=ca-pub-7244513001137299");GgKwClickStat("平台","www.jwx.com.cn","afc","2000016123");' οnmοuseοut='isShowGg = false;InTextAds_GgLayer="_u5E73_u53F0"'>平台</strong></nobr>的优势,开发工具方面拥有一个优秀的IDE,从VC/VB的时代到.NET Framework1.0/2.0/3.5,微软一直在进步,很多<nobr><strong class="kgb" οnmοuseοver='isShowAds = true;isShowAds2 = true;KeyGate_ads.Move(this,"","%u968F%u65F6%u5173%u6CE8%u8F6F%u4EF6%u884C%u4E1A%u53D1%u5C55","-100832","软件","%u968F%u65F6%u5173%u6CE8%u8F6F%u4EF6%u884C%u4E1A%u53D1%u5C55","http%3A//www.sd2china.cn/default.html", event)' style="BORDER-TOP-WIDTH: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CURSOR: hand; COLOR: #0000ff; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: underline" οnclick='javascript:window.open("http://s4.17luntan.com/ClickPortal/WebClick.aspx?id=-100832&k=%u8F6F%u4EF6&siteid=0098295a-e262-40f7-ae50-7a6fbbdb678b&url=http%3A//news.csdn.net/n/20071211/111619.html&gourl=http%3A//www.sd2china.cn/default.html&parm=1F762DFB46BDF36ABD95F1D2FF592807AF2F90104C184144&alliedsiteid=0");' οnmοuseοut="isShowAds = false;isShowAds2 = false">软件</strong></nobr>公司都基于微软平台做<nobr><strong class="kgb" οnmοuseοver='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u5E94_u7528_u8F6F_u4EF6";KeyGate_ads.ShowGgAds(this,"_u5E94_u7528_u8F6F_u4EF6",event)' style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; CURSOR: hand; COLOR: #0000ff; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: underline" οnclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BWtnAuUdeR-bAF6O0sAL-g5jnCdWN3DT5356IBKWQ-YoHgOowEAQYBCCC9pILKBQ4AFD1sJah-v____8BYJ250IGQBaoBCjIwMDAwMTYxMjOyAQ1uZXdzLmNzZG4ubmV0yAEB2gEraHR0cDovL25ld3MuY3Nkbi5uZXQvbi8yMDA3MTIxMS8xMTE2MTkuaHRtbKkCtNAKFNYtgj7AAgHIAoWHpQGoAwHoAyDoAx_1AwAEAAA&num=4&adurl=http://www.zzyedu.com/jpkc/rdxxhgl2.htm&client=ca-pub-7244513001137299");GgKwClickStat("应用软件","www.zzyedu.com","afc","2000016123");' οnmοuseοut='isShowGg = false;InTextAds_GgLayer="_u5E94_u7528_u8F6F_u4EF6"'>应用软件</strong></nobr>开发。一般来说,微软技术入门还是很容易的,学习难度不大,但要深入还是需要一定的技术功底。我在工作中一直使用新技术来提高开发效率,其间也了解一些新的技术趋势和设计思想。微软一直在打造一个易用的开发平台,比如C#,VB.net语言的增进,类库的增加,开发工具的更新,让程序员使用越来越方便。
对于新技术,我个人是先用几个小时了解一下概要和它有哪些优势,什么场景可以用到这些技术。再次,我会思考为什么要选择新的技术,使用新技术会有多大的成本和风险,如果要使用这种新技术做产品或项目,接下来会详细看文档,Demo和Sample Code,并结合实际场景应用。比如刚接触SliverLight,看了其几个视频和Demo后,知道它是基于WPF /XAML为Web提供很好的媒体体验和用户交互功能,跨浏览器,客户端装个插件就能使用。如果要用SliverLight技术开发产品,就得考虑美工怎么用Expression Blend设计UI,程序员如何基于新的框架做开发。目前各种新技术太多,我只是根据工作需要和兴趣学习新东西。
记者:你认为微软系技术的开发者应当如何选择技术、面对这种不断出新的局面?
李洪根:我个人的原则是采取泛泛了解,用得上才深入的原则。了解是对包括非微软技术在内的各类技术的了解,拓宽知识面。目前新技术太多,语言,开发工具,数据库版本更新越来越频繁,开发人员可以根据自己的工作需要来学习新技术。通常来讲,一个优秀的开发人员应保持对新技术的感知和应用能力,除非不希望自己进步。我每天基本上用二个小时时间上网学习新的东西,来保持对新技术的把握能力。
记者:微软平台的技术越来越多,如WCF, WPF, SliverLight之类的,你肯定也遇到过由一种技术过渡到另一种技术或者有一个平台转向另一个平台的经验,是否可以为我们举例讲述你在这方面的经验和故事?
李洪根:说实在话,我目前参与WCF, WPF, SliverLight之类的项目并不多。我主要的技术过度是在四年前,因为我毕业后是用VB/VC和ASP写程序,开发一些<nobr><strong class="kgb" οnmοuseοver='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u7BA1_u7406_u8F6F_u4EF6";KeyGate_ads.ShowGgAds(this,"_u7BA1_u7406_u8F6F_u4EF6",event)' style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; CURSOR: hand; COLOR: #0000ff; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: underline" οnclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=Bg5jIuUdeR-bAF6O0sAL-g5jnCbmk5TnZnK-0A8CNtwHwkwkQAhgCIIL2kgsoFDgAUKnYt-4HYJ250IGQBaABz9nP-QOqAQoyMDAwMDE2MTIzsgENbmV3cy5jc2RuLm5ldMgBAdoBK2h0dHA6Ly9uZXdzLmNzZG4ubmV0L24vMjAwNzEyMTEvMTExNjE5Lmh0bWyAAgGpArTQChTWLYI-yALR5eEDqAMB6AMg6AMf9QMABAAA&num=2&adurl=http://www.jingoal.com&client=ca-pub-7244513001137299");GgKwClickStat("管理软件","www.JinGoal.com","afc","2000016123");' οnmοuseοut='isShowGg = false;InTextAds_GgLayer="_u7BA1_u7406_u8F6F_u4EF6"'>管理软件</strong></nobr>和网站应用,那时正是Internet流行的时候。后来2002年转到.NET平台做产品开发,因为OO思想和算法学得不错,大部分时间都在熟悉.NET类库,看文档和示例代码。当时用C#开发ASP.net程序,由于我有C++/VB/VC基础,觉得很容易就过度到.NET平台。一般来说,有一定的开发经历和语言基础,过度并不难,况且微软平台的很多产品是互相联系的。
记者:微软新技术的的推陈出新也引来开发者的抱怨,比如VS 2008,有些开发者抱怨推出太快。你怎么看待重量级产品的更新速度?
李洪根:我个人认为微软重量级产品更新速度并不快,比如Office,Visual Studio,基本上都是两三年发布一个版本,这段时间正是一个产品的商业周期,太快和太慢对微软,对用户都是不利的。对开发人员来说,一个新版本一般是不需要太多时间培训学习的。比如用VS 2008,你完全可以使用Framework 2.0,不用Framework 3.5。如果要使用新的特性,用起来也不难。我现在就在使用VS 2008,感觉比以前任何版本的开发工具都好用。
记者:把握了一套产品或技术的主线后适应和采用新技术会更加容易,作为开发者你如何从现有的技术和产品来更好地把握未来的方向呢?
李洪根:我看微软技术,一般只看到未来5年内的技术更新和普及。比如说2008年初微软会发布Windows 2008,三年后会发布下一代的Windows版本7.0 (Code Name: Vienna),.NET Framework 也会发布4.0版本,目前正在研发中。总体上,微软各个产品线会越来越完善,新功能也越来越多。我认为<nobr><strong class="kgb" οnmοuseοver='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u8F6F_u4EF6_u516C_u53F8";KeyGate_ads.ShowGgAds(this,"_u8F6F_u4EF6_u516C_u53F8",event)' style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; CURSOR: hand; COLOR: #0000ff; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: underline" οnclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BCC8YuUdeR-bAF6O0sAL-g5jnCb3Wihyd2-6ZA9Pc0awEkIRsEAEYASCC9pILKBQ4AFCCmYWxB2CdudCBkAWqAQoyMDAwMDE2MTIzsgENbmV3cy5jc2RuLm5ldMgBAdoBK2h0dHA6Ly9uZXdzLmNzZG4ubmV0L24vMjAwNzEyMTEvMTExNjE5Lmh0bWyAAgGpArTQChTWLYI-wAIByAKVuocBqAMB6AMg6AMf9QMABAAA&num=1&adurl=http://stream-web.bbn.com.cn/520/1427/index.html&client=ca-pub-7244513001137299");GgKwClickStat("软件公司","www.bbn.com.cn","afc","2000016123");' οnmοuseοut='isShowGg = false;InTextAds_GgLayer="_u8F6F_u4EF6_u516C_u53F8"'>软件公司</strong></nobr>能研发到5年以后的技术就相当不错了,跟硬件厂商不同,如Intel已研发完成未来十年的CPU技术,十年后的笔记本可能会装有百核的处理器。当然,软件是计算时代的灵魂,微软开发技术主线还是依靠操作系统平台提供API和Framework,提供更优秀的开发工具,如果走微软路线,程序员只管基于微软平台做开发就行了,用到哪些技术就做哪些知识更新,保持对新技术的激情。