I'm an Italian C# developer, Agile wannabe and life enthusiast. Ferdinando has posted 7 posts at DZone. You can read more from them at their website. View Full User Profile

C# Programming Language (Covering C# 4.0)

03.17.2011
| 2061 views |
  • submit to reddit
Published by: Addison-Wesley Professional
ISBN: 978-0321741769

Reviewer Ratings

Relevance:
5

Readability:
5

Overall:
5

Buy it now

One Minute Bottom Line

Don’t miss this chance to become a better C# developer!  Or learn the language for the first time.

Review

This is the first time I've gotten a copy of The C# Programming Language by Anders Hejlsberg and friends, and I feel terribly angry for not looking for it in the past.

This book is the most complete reference for C# I have ever read.  It's written in a classic “student book” form that anyone could use to try to learn this wonderful language.

One thing I appreciate is the design of the book itself: a hard-cover makes it solid and durable, and a green ribbon helps you bookmark your preferred chapter. (These are separated by a gray – white alternation of color on the right-hand side.)

The organization of the book is quite standard, but is simple enough to make you able to quickly find topics. The “I’m looking for …” trial is my preferred way of evaluating the effectiveness of a book structure, and this one makes this work trivial.

Since this book covers everything, I won't get into the details: you can read the TOC and understand that there’s no field this book doesn't cover.

The best feature of this book is what editor calls “Special Annotated Edition”; annotations comes from very skilled people who work on C# directly, or use it for their work. Here we can find annotations from Brad Abrams, Joseph Albahari, Krzysztof Cwalina, Jesse Liberty, Eric Lippert, Christian Nagal, Vladimir Reshetnikov, Merek Safar, Chris Sells, Peter Sestoft, Jon Skeet, and Bill Wagner. I cannot spend too many words talking about these masters, but probably you readers know them all: these guys are mostly authors themselves and are well known in the programming world. Their annotations are great additions that go expand well beyond what the authors had written, revealing some underlying concepts most developers would never think about.  There is some criticism too; revealing points where engineers failed to choose the best method of representing a particular C# feature.

Annotations also add a level of humor to an otherwise highly-technical book. For example, Eric Lippert made this note about try...catch: “… finally block does not always execute. The code in the try block could go in an infinite loop, the exception could trigger a “fail fast” (which takes the process down without running any finally blocks) or someone could pull the power cord out of the wall”. This is the funny truth!

And the comment about unsafe code: "In all the time since I've been programming .NET (starting before the RTM of 1.0), I've never once found a need to write unsafe code.  Not once" by Chris Sells makes me smile, once again: I never used it either!

As the main text of the book introduces the concepts of the C# language, cogent annotations explain why they are important, how they are used, how they relate to other languages, and even how they evolved. These annotations are real gems; reading the book we can understand how to use a particular statement, and in annotations we can find a way to totally master it. Many times we work like a mechanic with only a screwdriver: simply we use the wrong tool to do the work, not knowing there are some more right tools to make use of.

The C# Programming Language, Fourth Edition, continues to be the authoritative and annotated technical reference for C# 4.0, full of clear code examples, too.

The book provides the complete specification of the language, along with descriptions, reference materials, code samples, and annotations from twelve prominent C# gurus.

I would recommend that you also have a copy near you!

Published at DZone with permission of its author, Ferdinando Santacroce.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)