Geeks With Blogs

Jeff Julian's Blog CEO of Enterprise Marketer

The C# Programming LanguageThe C# Programming Language, Fourth Edition by Anders Hejlsberg, Mads Torgersen, Scott Wiltamuth, and Peter Golde

Publisher: Addison Wesley (Special Annotated Edition for C# 4.0)

I can honestly say I have had a copy of this book for each edition it was published.  I love this book and have always loved it.  Ever since Microsoft stopped publishing the White Reference Guides we used to all have back in the day, Addison Wesley has became my reference book dealer.  These White cover books with the most generic titles have filled my bookshelf since I started writing .NET.  When it comes to pure reference, I choose these books.

I am not saying I don't have other books around, but typically they fit a different need than reference.  Good example would be Steven Walther's (and friends) ASP.NET X.0 Unleashed.  I always keep a copy of this book around, but not for reference, for examples and investigating how ASP.NET works and interacts with other portions of the Framework.  You won't find this book fitting that need.  This is a reference book that talks about C# as a language.  It going through everything you could think of when it comes to the syntax of the language.  You won't find information about ADO, ASP.NET, LINQ, etc in this C# book, you will find what makes the language tick.

One thing I enjoy about the book is the hard cover and ribbon place holder.  I hand this book out the many developers that I work with consulting so it goes through the dirt and gets used.  I am a fan of Google for finding answers, but I find when you look it up in a book and really read what it has to say about it, it sticks better.  You won't typically find yourself going back to click search a week later when you have to work with events or arrays with a language if you look it up in a book before in my experience.  I also really like the idea of a built in placeholder (the ribbon) with a book like this.  Not because you would ever read this cover-to-cover.  If you do, you probably should see stop reading this post and go outside and do something with a real human, only kidding.  I do however suggest everyone who has been in C# and skipped between versions throughout the years to thumb through it page by page and stop when you see something interesting.  I found just by spending a few minutes a time with this book that you will find something that will interest you that you didn't know about the language.  This will only make you stronger as a developer.  Imagine being a carpenter and getting on a project and you only had a standard screwdriver.  You could get it done, but you would gain speed by keeping the head of the driver in the screw easier with a phillips-head screwdriver.  Even today if you go through Home Depot or Lowes you will find new screwdriver heads designed to make the job go faster and strip less screws.  Knowing what tools are available at the core is key.  I don't know how many times I have ran into developers after 2.0 was released that did not know a thing about generics.  They may have used them, but the mechanics behind them was foreign and they definitely didn't create their own logic using them.  Making it a habit to refresh your knowledge about the core language will only make you stronger.

Since this book covers everything, we won't get into the details of the text in this book for this review, it is all there.  However, one thing I truly enjoy about this book is the annotations provided by very smart people.  These guys are mostly authors themselves and well known in the industry.  Their annotations are great additions that go beyond what the authors had written and also add a level of humor to a technical book.  Comments like "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 in the beginning of the chapter on Unsafe Code just crack me up.  I have never either found a need for unsafe code.  I think I used it once for doing some image manipulation, but I didn't write the code, someone else did and I am sure the problem could have been solved without it.  Another one by Bill Wagner says "These examples are not as compelling now that nullable types have been added to the language and the framework,  Even so, I find that I still create struct types for holding instances of types when I create very large collections of data values" found in the section on Structs adds a little bit of insight to a language that has grown over time and has newer and better ways of doing things that you should consider.  The annotations are definitely a favorite of mine when it comes to this book.

Who should have a copy of this book?  Any developer who is moving into C# 4.0 and it should hold a prominent place on your bookshelf.  They should also consider grabbing it before hitting search.  There is something about the written word on paper that just helps for learning new concepts.

Technorati Tags: , ,

Posted on Friday, November 5, 2010 6:27 AM | Back to top

Comments on this post: Book Review | The C# Programming Language, Fourth Edition | Addison Wesley

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Jeff Julian | Powered by: