Thinking in .NET:我对.NET的全局思考

随着.NET Framework 3.0在2006年底的发布,像很多一直跟着微软技术冲浪的人一样,我也陷入了新的技术浪潮到来之际的某种紧张和不自信。《代码大全(第二版)》中关于技术浪潮有这样一段叙述(第4.3节,第66页):

“(处于)技术浪潮(的不同时期)即意味着不同的编程实践,(而)编程实践(也即)取决于你在技术浪潮中所处的位置。……关键在于,你(将)如何面对自己的编程工作,这取决于你在技术浪潮中所处的位置。”

虽然经常处于技术浪潮的浪尖,情形相对凶险与无助,但如果能够摸准它的脉、探到它的心里去,则一切又会趋于美妙和刺激——关键是以一种什么样的姿态去面对。因此,和往常一样,我先通读文档——哪怕它写得不够通俗易懂也不够详尽,我再查阅大量的资料,我再通读大量的例程……这要放在.NET 2.0那会儿,我大概早就探到它的心脉了。不过这次不同,历经半年努力学习后依然毫无头绪,这给了我不小的打击(甚至让我对30岁后就不再适合编程这个观念有了一点点相信,天啊!)。只好退一步自言自语,.NET 3.0这一波浪来势着实汹涌!

汹涌何在?虽说3.0在核心部分与2.0没什么两样,但是新加入的三剑客——WPF(Windows Presentation Foundation)、WCF(Windows Communication Foundation)和WF(Windows Workflow Foundation)——可不是那么平易近人了。虽说搞个Hello World都不算什么难事,但我总觉得有些不入门道。直到2007年夏天,有了一次真正实践WPF的机会。这一次让我终于触到了WPF的法门,也进而引发了我对.NET 3.0这一全新的技术框架的全局思考。

忽地想到《代码大全》中提及了两种不同层次的编程实践:“某种语言编程(programming in a language)”和“深入某种语言编程(programming into a language)”。“以”一种语言进行编程的时候,在编译器眼中合法的程序,却可能只是貌合神离,徒有正确的语法却没有恰当的思维角度。而当“深入”一种语言编程的时候,程序就不只是在表面上合法了,其内在的思维方式也要暗合语言的思想精髓。编程语言当然只是表达思想的工具,但使用工具的方式仍然可以折射出思维的角度。尤其是当某种编程语言是为一种思维方式(比如面向对象)而服务时,如果不能以同样的思维方式来思考,则编程语言作为工具的实用价值也就大打折扣了。.NET作为框架和运行库,和编程语言一样,也只是我们为实现软件目标而选用的工具。因此,去理解工具背后的思想,对于充分而灵活地使用工具而言还是相当重要的。

C++是为面向对象思维方式而生,但如果使用C++编程的人不能以面向对象的角度而思考,则写出来的程序一定是不伦不类的。同样,.NET Framework 3.0中引入的这几个新技术也无不是蕴含了新的思维方式,这也就难怪一上手学起来总是摸不到头脑了。有人用着感觉不如之前的技术顺手,也有的碰到新问题完全不知道从何下手,大体都是因为没有摸到技术的脉,没能领会工具背后的思想。而反之,则会马上领会到工具与技术的美妙与刺激,进而一扑而上,狂吻不止……(此处省略万余字)

此次开博,有机会把自己对.NET 3.0这波技术的一些思考与大家分享(也就是前文省略的那万余字!),也是希望和同样想在这一波技术浪潮中激流勇进的同好们共鸣,让我们一起在美妙与刺激中学习和进步吧!:D

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值