List of C# Books Recommended by Eric Lippert

Reprint address: http://www.cnblogs.com/kirinboy/archive/2011/11/14/csharp-book-list-from-eric-lippert.html

Eric Lippert is a key member of Microsoft's C# compiler and C# language design teams, and he's also a frequent presence in the Stack Overflow community , answering questions from developers. One of the most frequently asked questions is: Can you recommend some good books for learning C#. Recently, I was asked this question in an interview with InformIT , so Eric made a list of C# books .

Sams Teach Yourself Visual C# 2010 in 24 Hours by Scott Dorman

Eric claims he wasn't intimidated by the name, but rather by its content. Its price is quite affordable for C# beginners (note: the affordable price is $34.99, please compare the price of domestic technical books). In addition, Scott does not use the author's learning path to organize the structure of the book like other introductory book authors. Instead, it is gradual and progressive.

This book has not been imported in China, and it is estimated that no publishing house dares to introduce it. Just the title of "Learn Visual C# 2010 in 24 Hours" scared off all publishers. Not to mention 24 hours, even "Learning XXX in 24 Days" will be sprayed to death. Can't blame the readers, it's forced by those early rubbish authors.

Essential C# 4.0 by Mark Michaelis 
C# In Depth, 2nd Edition by Jon Skeet

These two books are often recommended by Eric to intermediate and advanced C# programmers, and both books put their full attention on the C# language, with only occasional references to the .NET foundational framework. Mark Michaelis ' book is suitable not only for beginners, but also for C# proficient and programmers transitioning from other languages. ( Eric recommended this book in a previous blog post .) Turing introduced the Chinese version of this book, called " C# Essence (Third Edition) ", translated by Teacher Zhou Jing . When I opened this book, I felt very intimate, because the font of the code is my favorite Consolas, and it is a joy to read. There is a mind map at the beginning of each chapter to show the content of the section, which is much more vivid and easier to remember than just using a list.

Jon Skeet is a StackOverflow legend , and his book, starting with C# 1.0, covers the language features of each C# version. If Essential C# conveys the essence of C#, then C# in Depth goes deep into the obscure corners of C#. Jon's British humour also permeates the book.

I am fortunate to have participated in the translation of the second edition of the book , which should be released by the end of the year. The value of this book is comparable to that of CLR via C# in the field of CLR. I will be writing a dedicated article to recommend this book in two days.

Effective C#, 2nd Edition by Bill Wagner 
More Effective C# by Bill Wagner

Neither book is a beginner's tutorial, but each explores 50 tips for writing high-quality C# code. Bill Wagner always explains complex topics concisely and accurately. If you want to learn about good (or bad) C# practices, check out Bill's article on the MSDN Developer Center . These two books and his articles will guide good programmers on the road to greatness.

Turing also published the Chinese version of these two books ( and the first edition of Effective C# ), translated by MVP Chen Lifu (the first edition of Effective C# was translated by Mr. Li Jianzhong ). The Chinese translations of these three books are all excellent, with fluent language and thorough understanding, which are absolutely one in a hundred.

The C# Programming Language, 4th edition by Anders Hejlsberg, Mads Torgersen, Scott Wiltamuth and Peter Golde

This is the book that Anders Hejlsberg, the father of C#, has been updating (every time there is a version of C#, it will be updated once), and the Chinese translation of the third edition is published by Huazhang. I haven't read the book myself because it's pretty much a copy of the C# specification , so I chose to print a copy of the specification and keep it on my desk in case I need it. But in fact, according to Eric, this book is much more than that, and includes comments from many C# experts (including Eric himself, Jon Skeet, Bill Wagner, etc.).

Java Puzzlers by Joshua Bloch and Neal Gafter

You must be wondering why the C# book list is mixed with a Java book. Eric's explanation is:

  • It is very interesting
  • The pitfalls pointed out by Neal Gafter  and Joshua Bloch were a wake-up call for language designers. If developers fall into traps, it is the responsibility of the language designers, because they should make it easy and efficient for programmers to avoid those traps.
  • More than half of the pitfalls covered in this book will produce warnings or errors in the equivalent C# program! Whether in language design or in life, to avoid making mistakes, learn from the mistakes of others.

Neal now works in the C# design and implementation group at Microsoft, and maybe one day you'll see a copy of C# Puzzlers.

The Chinese translation of this book, "Java Answers," is still published by Turing (you must ask why Turing introduced so many good books, go to the Turing community ). I just bought it during the JD.com promotion two days ago, and I am going to watch it soon.

Introduction to Algorithms, 3rd Edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein 
Purely Functional Data Structures by Chris Okasaki

这两本书都不直接与C#有关,但Eric却经常向人们推荐。Introduction to Algorithms(著名的算法导论,华章出版)在微软几乎人手一本。很多计算机科学科班出身的开发者很少在日常开发中使用他们学到的理论原则,但C#编译器小组可不是这样。商业软件开发者如果精通计算机科学理论,也可以获益良多。

我们正处于函数式编程复兴的年代。像F#这样的函数式语言越来越受欢迎,并且纯函数式语言中的一些理念正在逐步融入主流面向对象语言。比如C#和VB中的LINQ,在很大程度上受到了Haskell式的单体查询的影响。同样,纯粹的函数式数据结构在并发程序中能工作地更好。大而全的算法书主要关心的是传统的数据结构,如可变数组、栈、队列等,而Chris Okasaki的这本薄而优雅的算法书则主要关注的是用不可变的、线程安全的、内存高效的部分构建复杂的数据结构。本书中的很多内容都可以在线浏览。C#开发者可能不太适应其紧凑的语法,F#开发者可能要感觉好得多。

 

以上就是Eric的C#书单,您看过几本呢?

您一定会问为什么没有CLR via C#?为什么没有C# 4.0 in a nutshell?Eric这里列出的是个C#书单,可能他觉得CLR via C#太偏重CLR了吧。而对于C# in a nutshell,Eric坦言他并没有读过这本书,所以就没有推荐了。

其实也没有必要问这么多为什么,您心里一定也有一个自己的C#书单,重要的是把这些书读了,并融汇贯通。但就我目前的了解来看,国内的语言书都卖得不好,图灵出版的C#本质论、深入解析C#以及Effective C#系列,都可以用惨淡来形容(好像没有一本能撑到第二次印刷,也就是说每本书只卖出去不到3000本)。园子里也经常有人要求推荐书,但为什么技术书市场还这么惨不忍睹呢?关键是,您得去买书啊,对不?

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324147620&siteId=291194637