在dotNet平台中有多种开发语言可以使用,C#无疑是其中应用得最为广泛的。学习一门编程语言最好的方式就是找一本好书系统地学习,我读过的关于C#的书籍中,我认为下面三本最为经典:
- 《C#本质论》:入门类,目前最新为《C#7.0本质论》
- 《C# in Depth》:技巧类,目前最新第四版
- 《CLR via C#》:底层原理类,目前最新第四版
之前看过《C#本质论》的第四版,最近拿到了最新的《C#7.0本质论》,近700页,也算是一个大部头了,因为内容比较熟悉,所以花来一两个星期就快速地略看了一遍。不要以为我归类为入门类就以为很简单,书中依然有很多高级的内容可以用来进阶,有经验的开发人员依然可以从中收获良多,并且可以作为进一步阅读《CLR via C#》的一个桥梁。
下面我谈谈我最近看了这本最新版本的感受。
翻译
阅读中译本的书,翻译质量是非常重要的,最怕的就是中文字都认识,就是不知道什么意思,还不如读原版。本书的译者是周靖,他同时也是《CLR via C#》第二三四版的译者,专业技能上没有问题,通读下来还是非常流畅,表达清晰,我觉得这就够了。
结构
一本书的内容再好,如果组织结构和排版很差,会让人不想去读或读不进去,本书在这方面我认为还是很用心的。
思维导图
平时的工作中,思维导图用的非常多,所以在本书的每一章开头看到有思维导图感觉非常亲切。每章的思维导图就是每章内容的提纲,可以让我们快速熟悉这一章节的相关知识点,并建立自己的知识体系。看完一个章节后,再回过头看看这个思维导图的内容,也便于复盘知识点是否完全掌握了。
版本标示
编程语言的发展非常的迅速,每个版本中都会新增很多新的特性,很多系统讲解的书,很难体现每个版本的变化,像《C# in Depth》这类讲解特性的书感觉又不是很系统。本书通过在页面的侧边加上Begin、End的标记完美地解决了这一问题,让我们系统学习语言的同时又能很方便地了解每个版本的变化。
上图中是C#6.0对异常处理的一个特性,有了这个标记可以快速地定位到语言特性讲解的范围。并且在合上书的时候在书的侧面也能够看出哪些地方有这些标记,方便定位和查找。
这种Begin、End的标记从2.0到7.0,因为本书是7.0本质论,所以7.0的背景颜色最深,2.0最浅。
内容
只是有好的结构和排版,内容不好,我们很容易可以读完一本书,但收获甚少,本书在内容上有下面一些亮点。
设计规范
学习编程语言的语法,可以让我们写出能运行的程序,同样的一个功能10个程序员写出的代码可能都不相同,有的优雅高效,有的逻辑混乱。本书在每个章节中穿插着大量的「设计规范」,可以给我们很好的指引,避免入坑。
分类解说
考虑到阅读本书人员的水平的不同,本书在每个章节中重点突出显示了初学者主题和高级主题,让不同的人员可以各取所需。
考虑到有从其他开发语言转学C#的,书中有大量语言特性和其他语言对比的讲解,涉及到Java、C++、VB.NET等。
示例代码
- 书中的示例代码没有平台依赖性,也就是说Windows和Mac上都能运行,这个对我这种Mac用户来说比较友好
- 关键字加粗,关键代码有背景色区分,看起来比较清晰
总结
如果说想要用一本书来系统学习C#语言,那么这本《C#7.0本质论》将是首选。