若干年前,我迈出校门开始了职业生涯,.NET这个初听还略显别扭的单词从此成了我生命中不可或缺的一部分。入职的第一天,我和一位新同事讨论如何才能有效地学好.NET的问题,对于究竟应该先学什么,后学什么产生了很大的分歧。我的观点是基于.NET的编程语言,C#或者VB.NET,较之.NET Framework更加易于入门,应该先精通编程语言,再学习.NET Framework。而对方则认为.NET Framework是基础,如果对.NET Framework有一个深入了解后再学习编程语言,则将事半功倍。
然而,就我个人近年来的学习经历来看,我们当初都走入了极端。对一个.NET的初学者,.NET Framework和基于.NET 编程语言的学习不该分谁先谁后。编程语言是一个程序员最基本的工具,与我们一般的语言一样,无外乎有两个基本的要素:语法和词汇。但是倘若要精通它,则需要对.NET Framework,尤其是对CLR有一个深刻的认知。无论C#和VB.NET,这些基本.NET的编程语言都是建立在.NET Framework之上的,我们编写的程序所表现出来的一些行为和特性往往不能在编程语言的层面上得到合理的解释,而只能在.NET Framework层面上去寻求答案。所以二者的学习是一个不断回归的过程,对.NET Framework的疑虑,可以通过编程语言编写相应的程序去验证;编程语言体现出来的不能得到合理解释的行为,则试着通过.NET Framework找到答案。可惜的是,在国内的出版市场上却鲜有按照如此结构进行撰写的.NET专著。而这本《你必须知道的.NET》可以说从某种程度上弥补了这个空白。
对于本书的作者,虽素未谋面,却神交已久。初识作者是通过他在博客园撰写的博文系列:《你必须知道的.NET》。透过这一系列文章,可以看出作者对.NET Framework的认识已经达到了相当的高度。作者在博客园上创建的CLR基础研究团队,旨在搭建一个学习研究CLR的平台,并邀我加盟成为共同创办人。这段时间里,我对作者有了相对深入的认识,他对技术孜孜以求的学习激情,对团队认真负责的态度,都让我钦佩不已。近日获悉他在此博客系列的基础上,完成了一本同名技术书籍,并邀我对其中的技术部分“把把关”,这让我诚惶诚恐,因为作者对.NET的精通程度远在本人之上,实有班门弄斧之嫌。由于难以抑制对本书的期待,希望在第一时间一窥此书的全貌,同时感到能够向大家推荐一本好书不失为快事一桩,于是才有了这篇序。
在我看来,一个人对于知识技能的掌握可以大致分为三个层次:
第一个层次——了解,知道有这么一项技术,它大致能为我们解决怎样的问题。第二个层次——精通,能够有效地利用它来解决你所面临的问题,这种人被称为专家。但我看来这还不是真正的专家,真正的专家应该具备第三个层次——传授,这首先体现的是不固步自封、乐于与大家共享的一种胸怀。也是一种能力的体现,一种将自己知识向别人传授的能力。
我研读过作者在博客园上所写的每篇文章,确实是篇篇精彩,倾注了很多心血。《你必须知道的.NET》一书中,作者凭借自己对.NET Framework深刻的理解和领悟,使用生动而又独特的表达方式将读者领入.NET的深邃世界。无论你是一位.NET 的初学者,还是一位具有多年编程经验的程序员,相信都会对本书爱不释手。
和一般的编程类书籍不同,这是一本讲述.NET本质的书。我深知要写好这样的专著并非易事。如何将看不见、摸不着的东西以一种读者易于接受的方式刻画出来,不仅仅要求作者个人具备对.NET 深厚的理解,也是对其写作水平、文字组织能力的极大考验。同时,这也是一件颇具风险的事情,因为珠玉在前,大师的经典是无法超越的。
我想此书能够成功得益于下面几个因素:
首先是作者站在巨人的肩膀上,在阅读此书的时候,你会不时发现Jeffrey Richter、Don Box这些大师的影子,从某种意义上讲,此书是作者在前人总结的基础上进行深入思考和实践的结晶。
其次,体现在以内容取胜,在内容的安排上,本书并没有像其他同类的书籍一样走入“贪多求全”的误区,而是抓住一些最能体现其本质的要点进行深入剖析,因为.NET博大精深,如果面面俱到很容易导致“泛泛而谈”。
最后,深入浅出、娓娓而谈的写作风格也是本书的一大特点,作者行文言简意赅、简洁明了,一些原本令人费解的原理和概念经作者之笔顿时明朗,这充分体现了作者技术写作的驾驭功底。
在我写这篇序的时候,作者一再嘱咐我加上一些“如何阅读本书的建议”。我觉得没有太大的必要,因为作者完全是站在一个程序员的视角来进行写作的。正如文中所说,阅读本书就是一段.NET的旅程,而作者这个知心的导游会将你带到你想去的地方。我唯一的建议就是:读《你必须知道的.NET》时,你必须得眼、脑、手并用,多看、多想、多动手。就我个人对.NET Framework和CLR的学习经验来讲,多动手实践才是学习的捷径。本书提供的诸多实例,如果读者能够一个一个地重做一遍,一定会收获很多仅仅从文字中难以获得的心得。
最后,非常感谢王涛将他个人对.NET的独到见解,通过《你必须知道的.NET》传达给大家。同时获悉王涛刚刚荣获最新一届的Microsoft MVP,对他的当选表示由衷的祝贺。
蒋金楠
2008年1月
推荐人简介
蒋金楠,网名Artech,http://artech.cnblogs.com/,微软MVP,现就职于一家知名软件公司从事技术与架构研究。热衷于.NET技术的研究和应用,长期活跃于博客园分享.NET技术感悟,精通.NET Framework, C#, ASP.NET, WCF等技术领域。
|