读书和书籍选择问题的讨论:C#篇
前言
以前曾经用C#也开发过几年的东西。在那里对相关语言和开发都有了一定的了解。这里,结合自己当初的一些体会和见识把一些比较好的书籍也和大家分享一下。这一系列的开发语言相关书籍大部分都是自己了解和接触过的。而且自己当初也用过这些语言做过开发。对于自己没接触过的语言,不评价,也不会乱做推荐。
C#入门
Head First C#
作为C#入门的书籍来说,其实还是比较多的。如果接触过其他的编程语言,比如Java, C++,再来看C#还是很容易上手。C#的发展比较快,在最初看起来和Java很相似的基础上增加了很多语法糖以及函数式编程语言的思想和特性。这些东西都大大加快了它的开发效率,当然,作为学习来说,要了解的面也就更广了。这本书没有面面俱到的全部都涵盖。其实,作为入门的来说,能够快速掌握基础的语法就可以做一些具体工作了。很多细节都需要后续去深入了解的。这本入手比较简单,上手还算是比较快的。
Essential C# 5.0
这本书的定位就相对有点不好选择。从某种角度来说,它可以作为一本入门学习的不错教材,一边学习基础一边实践。另外一方面,它本身也很厚,内容几乎覆盖了语言的各方面,也可以作为一本参考书。遇到一些问题的时候,可以从这里翻看一下。
Pro C# 5 and .NET 4.5 framework
记得当初才出来.net 2.0框架的时候,自己在一台破电脑上用的UE编辑器写代码,然后用CSC编译,看结果。当时学习的参考书就是这一本。它和前面那本类似,相当于兼顾了入门学习和参考的功能。有的章节自己可以挑着看。又是一本大部头,让人看着有点恐惧感。
C#提高
CLR via C#
看到这本书的时候,突然想起来几个词:烧烤,夜宵,魔兽。好吧好吧,这是当年和杨老板和kissinger同学几个一起晚上吃饭的时候经常还探讨这本书里面的知识点。学习这本书让人对CLR以及C#语言的内部机制都能有一个深刻的了解。这本书尤其是很多细节癖好者的最爱。另外,面试的时候,如果把这本书吃透了的话,确实不用怕别人提的这方面的问题了。经典,简直就是一宝典。
C# in depth
想深入了解泛型吗?知道协变、逆变是怎么回事么?他们的意义在哪里呢?yield return到底干了些什么使得它可以完成我们看来很麻烦的一堆事情?怎么有效的理解和运用lambda表达式?这些问题都在这本书里得到详细的解读。成为这方面的高手,这应该是必须学习和修炼的。
Effective C#
More Effective C#
Effective C#和More effective c#都是一些编程和开发经验的总结。怎么样有效的写代码,怎么样写出来的代码才算地道的C#代码。优秀的经验总结是最快最有效的学习方式。
相关技术材料
Programming Windows: Writing Windows 8 Apps With C# and XAML
这本书的作者可以说是一个传奇。他写的一本书《Code》也是非常经典的作品。做windows8平台的应用开发,他的这本书是一个非常好的参考。作为一个在技术前线耕耘20多年的老前辈,我们所能做的就是好好学习来向他致敬。
Pro ASP.NET 4.5 in C#
当年学习asp.net的时候在挑选一些材料时比较纠结,这方面的材料非常多。可是讲的非常好的并不多。比如ASP.NET unleashed,也是一本非常厚的书。但是它一上来就给你介绍一大堆控件的用法和介绍。感觉只是一个纯参考的书籍,不适合从入门到深入的去逐步掌握。作为asp.net的学习,如果不对页面的周期和相关事件等做一个详细的了解。很多时候写代码的人只能沉浸在一种莫名的拖控件带来的快感中。如果出现任何问题则会手足无措。这本书 在这些方面讲的非常好,让人了解到一个控件在web请求过程中的生命周期,哪些属性在什么情况下该怎么用。
Pro ASP.NET MVC 4
在2009年推出asp.net mvc2的时候,就尝试过找一些相关的学习资料。这本书详细介绍了asp.net mvc这个框架的各方面以及设计的思想。其中和结合TDD的开发思路开发了一个详细的示例。很不错的学习书。当年推出asp.net mvc也是向一些业界流行的web框架的学习。比如ROR, Django等等,这些都给asp.net mvc的设计带来很大的影响。
Professional ASP.NET mvc 4
当年在学习asp.net mvc的时候,去的比较多的一个地方就是www.asp.net。这里可以看到一些相关参与这个框架的开发者和设计者的讨论以及介绍。他们就是做这个asp.net mvc的。如果要学习的话,不看他们的看谁的呢?这里最初出来2.0版本时,还花了大量篇幅介绍一个用asp.net mvc开发的应用。上手学习某样东西最快的莫过于动手去实际做个东西出来。这就是一个理想的选择。
后记
关于C#和相关.net的技术材料其实优秀的非常多。这里主要对当年自己学习和了解过的一些好的材料做一个简单的列举。以便后面的初学者选择和参考。