Rating: - Flawless
I've just counted, it's the fifth book I've read on C# this year (not to mention a dozen books on .NET) and this is by far the best. It's not just very good technically, useful and enjoyable to read, it's flawless. In fact, I didn't find as single typo, a single sentence that was slightly misleading or incomplete which, in my experience, is extremely rare for a first edition. On top of being a highly competent developer, Jon is clearly a gifted writer and a born teacher. Every term is always used appropriately and in the right context, every example is spot on and contains the least amount of code that shows the full extent of the feature... this is a rare treat.
So, forget about reading the C# Specification. If you want to know all the useful stuff without going through pages and pages of boring and tedious text, read `C# in depth' instead! (I've made the mistake of doing it the other way round).
To sum up, if you are a good C# developer and you want to become a very good C# developer, there are 3 books you can't afford not to read: Framework Design Guidelines by Cwalina/Abrams, CLR via C# by Jeff Richter and this one!
Rating: - Just ordered my second copy
Just ordered my second copy and used Amazon.com (as opposed to .co.uk) for the first time to get a copy sent to a friend in the US.
Anyone that has ever Googled for anything threading related in C# will have come across the writing of Jon Skeet. Indeed, I have yet to meet a .Net developer that hasn't read and benefited from his writing on his "Yoda" blog. His writing has the very rare magic of being both concise and compelling.
Unlike most books within the current proliferation of .Net tomes, C# in Depth has a narrow focus. This allows the book to go into exquisite depth whilst maintaining a physical size that means it never leaves my backpack. I cannot stress enough that Jons expert writing means that although the subject matter is deep, you never feel "out of your depth". The chapter on Generics left me with the same feeling I got when I first read Don Boxes Essential .Net book. Excited. Stunned by what I thought I knew before but infact didnt. And most importantly, I actually felt more expert in my field.
Cant recommend this book enough.
Rating: - Great coverage of the most critical features of C# 2 and C# 3
This book is a tremendous work for understanding how the most important features of the C# language work. Skeet's been a prolific poster in the C# forums on MSDN for some years now, providing answers, tips and tricks, and in-depth advice to a large number of forum visitors. This book wraps up his great knowledge of the inner workings of C# and hands it over to readers in a well-written, concise, usable book.
Skeet uses a very nice formula for the features of C# 2 and 3: he starts with demonstrating solutions to practical problems in C# 1 then shows the progression of that same solution through C# 2 and C# 3. His walk through of the evolution of delegates through 1, 2, and 3 is a perfect example of this: start with the very wordy, somewhat clunky handling in C# 1 and end up with C# 3's lamba expressions.
One of the many fine things about this book is Skeet's ability to clearly cover complex topics like Lambdas and expression trees at exactly the right level. Readers will be able to pick up the power, complexity, and benefits of language features because Skeet's kept the examples practical and the text conversational. With potentially complex topics it's too easy for authors to fall into trivial examples, or dive into overly academic discussions; Skeet does neither. He also does a terrific job of covering the cons of particular issues -- something I'm a big fan of since it helps me make informed decisions.
Part of the book's success is Skeet's solid focus on the book's topics. He stays directed on to language features and doesn't digress into software engineering or construction. As a result, in roughly 360 concise pages he's able to hit all the major goodies like generics, delegates/lambdas, nullable types, extension methods, and LINQ. He closes the book with a nicely laid out, thoughtful discussion of C# 3's benefits and its possible future.
This is a great book for understanding how some of the more fundamental features of C# are implemented, and how to best use them. This book definitely belongs on your bookshelf, right next to Bill Wagner's Effective C# and More Effective C#.
Rating: - So you want to be a C# expert? I think I have just the book for you...
At 392 pages, this is not a long book. Jon intended this book not to be one of those `massive tome[s]' that adorn the bookshelves. It's lean and gets straight to the point, whilst keeping the writing style engaging; not an easy feat. The `frictionless' code examples are so clearly explained, you can glide through them without constantly having to back track into the text.
If there is one thing that sets this book apart from the others, it is the way is it structured to take the reader from C# version 1.1 to C# 2.0 and then through to C# 3. This would be especially useful for developers who are about to embark on a C# upgrade project, and want to be sure to use all the new language features to best effect.
This is the book I'll be reaching for to answer those hard and best practice C# questions. It`s an excellent resource for updating your C# development skills and taking them to the next level. If you write code in C#, you should read this book. Highly recommended.
Here's a link to some of the extra material: http://csharpindepth.com/Articles.aspx. The bluffers guides to C# 2 and 3 are a good way to get a rough overview of some of the new features. This web site also contains notes, online resources, and downloads.
Rating: - Great read
Jon Skeet does a great job of demonstrating the differences between the features of C# 1, 2 and 3. An abundant amount of detail is provided on the history of the features and how they evolved into C# 3. There are also some great analogies used throughout the book.
In my opinion this book is a perfect size. It is 392 pages, but really seems like more due to the amount of detail.
Some of the major items this book covers - Generics, Delegates, Anonymous Methods, Partial Types, Expression Trees
In closing, this is a great book for intermediate to advanced developers. I believe even beginners will pick up some great concepts.
|