时光飞逝,不知不觉已经过了 13 个年头。在这 13 年里,见证了C# 从 2.0 到 7.0 的进化和成长,也见证了 Visual Studio 从最初的 2005 一步步不断的蜕变为现在的 2019。在这 13 年里,从最初的新手上路到现在的轻车熟路,畅游在 .NET 的世界里,我非常的开心。

众所周知,在编程的世界里,无论你使用的是哪一种编程语言,扎实的基本功是至关重要的。除了扎根编程思想、核心算法、数据结构等抽象的思想,对于不同的框架体系、编译器的内部运作逻辑的掌握也是格外的重要。可以说后者会直接决定了你能否在指定的平台上写出高效的代码。

在这漫长的 .NET 之路上,有一本可以说是 .NET 开发人员众所周知的书是我必须推荐的,那就是《CLR via C#》,作者是 .NET 和 Windows 程序开发界的顶级大牛:Jeffrey Richter。他曾著有另外一本经典大作《Windows 高级编程》(是一本讲述和 C++ 有关的深入了解 Windows 内核的高级编程书籍,那是相当的NB,由于其厚度可观,较有深度,故将其平放于床头,后脑枕于其上,夜间使用,效果更佳)。

另外,对于一本经典的好书,翻译也是至关重要的,不好的漏译、错译,会曲解作者的本意,从而达到误导读者的神奇功效。本书的翻译也是赫赫有名的著名翻译:周靖。他也是《Windows 高级编程》的译者,关于周靖大神,这里也不用我多做介绍了吧(其实我也就知道这些了)。他对于本书的翻译准确、顺畅,时而幽默风趣的文笔让你读起来不会觉得乏味。

真正深入理解 JR 所写的东西,会让你感觉豁然开朗,对 .NET 底层 CLR 的运行有一个很清晰的了解,会让你知其然并知其所以然,这对于开发高性能程序、搭建良好的系统架构以及深入理解 .NET 都是有着极大的帮助的。

JR 从 CLR 的运行机制讲起,接着讲解程序集和类型,帮你铲平底层逻辑,然后开始往上推,把基础的数据类型、事件、委托、泛型等 .NET 中的重要知识点讲解一遍,再到后来高阶的 GC、AppDomain、Reflection、Thread、Concurrency,不仅告诉你细节,背后的原理也讲的很清晰,从而一步步地让自己得到提升。可以说这本书是深入理解 .NET 的基础。

这本书我自己看了不下两遍,每一次翻阅都会有不一样的收获,有些刚开始看会有一些难啃的地方感觉似懂非懂,但是多看几次,就能领悟。我觉得基础很重要,获取知识、积累经验的道路也没有捷径可以走的,一步一个脚印踏踏实实地扎根是必要的,只有底子厚、根基深,才能帮助你慢慢地达到一层层更高的境界。