代码改变世界

老赵书托(1):写在前面

2009-05-06 00:11  Jeffrey Zhao  阅读(43727)  评论(126编辑  收藏  举报

最近我思考和总结地越来越多,感觉也是时候把自己许多年来的经验进行一番总结和整理。谈基础与能力的时候,我把人脑比喻为“存储器”,里面存放了“知识”和“能力”等信息。而思考和总结便可以看作对这些信息的索引进行整理,好比数据库在运行一定时间之后需要整理索引碎片一样。因为种种原因,一些重要的内容可能已经淡忘了,或者有些东西当时认为“有空再关注”却从此置之不理,而整理和思考也正是一个查漏补缺的过程。

对于每个搞技术的人,技术方面的书籍相信都看了也不少,有些书籍看了就忘也没有太多关系,有些书籍却可能值得常备案头,每次翻阅都会有不同体会,这就是普通书和好书的区别之一。在每个人的成长过程中,总归会有那么几本书对自己的影响非常大,而对这些书进行整理和推荐也是一件快事——至少发现自己曾经也耗费数千小时看了数千页,一股成就感便“油然而生”。我自诩在读书,至少是技术书籍或资料方面涉猎颇多,小有心得,按照某些朋友喜爱的说法,“有资格”给后来者一定的指导。能够在自己积累的同时帮助他人,何乐而不为,也算是尽可能利用一把自己所谓的“影响力”。

这些书都是我认为的“.NET开发人员必读书籍”,但是您会发现,它们不一定是和.NET有关的书籍。事实上,其中的大部分都和.NET没有必然联系,或者说,和具体技术没有太大关系。熟悉我的朋友一定知道,我是一个重视基础的人,因此推荐的许多内容也都是为了让一个技术人员可以更好,更快前进的基石;而另外一些,可能是面向国内许多.NET开发人员的“通病”而推荐的有针对性地书,希望他们能够改变一些朋友在使用.NET时的一些思维模式。

这些书都有一定共性,例如它们在业界都拥有顶级口碑,也都是我仔细阅读过(至少仔细阅读过其中大部分)的书籍。这些书籍可能会略带一些学术意味,但肯定不会过于深入1。我在推荐的时候也尽可能把自己的个人喜好排出在外,推荐一些真正对尽可能多的人有用的书籍,而不是凭着自己的兴趣罗列出各种资料。例如,我不会推荐任何IL的书,因为我认为这对于.NET开发人员来说并没有太大帮助,掌握IL既不是优秀.NET开发人员的必要条件也不是充分条件;但是我推荐的书籍可以让您更好地理解IL是怎么样的东西,并且让您在需要了解IL的时候有足够的能力去学习及深入——这才是我认为的“基础”,“基础”与“底层”或“深入”无关,有时候它更接近是一种“能力”的培养和“常识”的形成,而不是对“技术”的掌握。

也正因为如此,我会在推荐每本书的时候详细谈论自己对这本书的看法,推荐它的原因,以及我个人认为该如何阅读这本书(哪些着重,那些可以略过,那些可以暂时跳过回头再读等等)。读好书也需要方法,好方法可以让您得到更好的效果,也可以相对节省一些时间。但是别误会了,这些书都是需要您花上数周甚至数月的时间来仔细阅读(全身心投入,或囫囵吞枣者除外),并且时不时再拿起来翻阅一番。有时,您可能还需要思考或实现一下书中的练习题,也欢迎大家和我一起讨论这些问题。

基于我一贯的风格,我会尽可能地认真对待每一本书,甚至会把它们重新浏览一番,因此无法保证“书托”行动的周期长度,请大家谅解。

至于书籍的来源,您可以在国内购买翻译版或影印版,也可以像我一样投入重金,把所有这些书的原版收入囊中……不过这可能只有我这样的“书痴”才能感受到这样做的乐趣2吧。此外,我也会在推荐的时候附带一些额外的资源,其中也包括一些互联网上可以找到的Open Course,因此练好英语也是非常重要的。英语能力,至少是阅读能力,可能的确是成为优秀技术人员的“必要条件”之一吧。

相关文章

 

注1:我经常想起李开复大叔非常“道貌岸然”的一句话:“如果你在大学里看完TAOCP,那么你的算法能力就不错了”——如果您可以做到这一点,在国内任何一所大学都是顶尖的学生。

注2:我不知道世界上有“电子书”这个东西可以下载,也不知道可以用emule找到其中大部分的书。