C# in Depth has a very different focus from most “Learn language X” books. Starting from the premise that you are already am familiar with the basic language syntax (for 1.0, or maybe you are a Java or C++ programmer), it focus entirely on the new additions to the language and platform.
Its stated goal is to take C# 1.0 developers and give them all the changes that happened to the language in the C# 2.0 and 3.0 versions. And it most certainly deserves the “in Depth” part of the name.
I consider myself a fairly proficient developer, and I believe that I have adequate knowledge in both C# 2.0 and 3.0, but I still found myself learning new things. More to the point, as someone who do know much of the material in the book, I was quite impress with the quality of the material, the depth of the discussion and the level in which it is being presented.
I think that Jon has managed to capture a lot of the complexities of the language in a way that is approachable, easy to understand and complete.
I have been recommending that book for clients ever since I read it, and only recently realized that I have never actually posted about it. I kept intending to, but that doesn’t seem to put words on the blog, unfortunately (otherwise I would blog even more).
The complexity of the C# is a personal worry of mine, mostly because I see how hard it is for people to bridge the gap when moving to the newer versions of the language and having to face the explosion of possibilities. I think that this book is a big step in closing that gap.
Perhaps the best compliment that I can give to the book is that I fully intend to use the 2nd edition as the text to read to get into C# 4.0 when it is out. No reason not to let Jon do all the hard work :-)