I’ve always held as a personal dictum that the best way to get complete, irrefutable information on something is to go straight to the source.
And the new title “The C# Programming Language”, co-authored by Anders Heljsberg, a Microsoft distinguished engineer and the creator of the C# language, is such a source.
To paraphrase my favorite quote from the Matrix series, “He IS the architect.”
However, the key element to understanding why you should get this book is understanding what it is…and perhaps more importantly, what it is not. The main focus of the book is to provide centralized documentation for the C# language specification. It’s not intended to be a comprehensive tutorial to C# development; it’s a programmer’s reference, profiling the internal mechanics behind the world’s most rapidly-adopted programming language.
So, it’s not a book where developers can copy out code, find out how to better design classes, or lookup methods and properties within the .NET Framework – it’s a valuable reference guide for the experienced developer. As such, I find it to be a fantastic resource for upper-level computer science students (a market Addison-Wesley very adeptly serves anyway), or those professional developers moving over from other languages and/or platforms, and I highly recommend it to those who would make buying decisions for such classes.
People looking to buy it as a programming guide will be disappointed, I’m sad to say, as it’s simply not that type of book. This would be akin to be getting lost trying to read the U.S. Constitution to find out how to create a law. It’s applicable…but not directly.
However, I enjoyed reading it, for the academic and conceptual benefits it provided. And yes, I did learn a lot, most of which I didn’t realize prior. A very, very helpful collection of appendices make this book a great addition to any development team’s library. A hale and hearty section is also dedicated to introducing to the new features inherent to C# 2.0 - generics, anonymous methods, iterators, and partial classes.
In my opinion, the book’s one major flaw is the misnomer is gives off to the buyer, which unfairly at this point in the .NET game, implies the de facto expectation for a self-help book on learning various aspects of Microsoft development. The true purpose of the book could have been better promoted with the inclusion of a subtitle, something like “The C# Programming Language – An Architect’s Guide to the Specification”, or something making the true purpose a bit more obvious.
That having been said, the book is a fantastic deal, priced cheap (a great bargain at US$29.95), so buy it if you’re an experienced developer who’s curious. You’ll grow as a developer by increasing your own programming acumen by becoming more intimately familiar with how the C# language does what it does in the background.
The title is beautifully bound, being a hardcover book with one of those little page-placeholder ribbon things, the name of which I obviously don’t know, but a nice touch nonetheless.
I’m not sure how I should rank this book, as it’s a specification, and therefore inherently comprehensive, and likewise subject to standardization prior to publication. But, I did get a lot out of it, so that says a lot.