Book Review - Essential C# 4.0

Book Review - Essential C# 4.0

Posted in:

Earlier this year saw the release of .NET 4.0, Visual Studio 2010, and C# 4.0. With this release, like so many others, came a flurry of new books. Today's review will be covering one such book - "Essential C# 4.0" by Mark Michaelis.

Before we get started, I need to make it clear that we received this book free of charge from the publisher for review purposes. That being said, how much I paid for the book (or lack thereof) has no bearing over whether or not I liked it. I'd rather never receive a free book again than publish a false review.

Essential C# 4.0, 3rd Edition
by Mark Michaelis
Publisher: Addison-Wesley Professional
Pub. Date: Mar 10, 2010
ISBN-13: 978-0-321-69469-0
Pages: 984
List Price: $44.99

A while ago we posted a review of an earlier version of this book, Essential C# 3.0, which we generally liked. This book does not waiver from the overall high quality of the series. If you're new to C#, an expert, or somewhere in-between, you will find something useful. The text is well written, easy to follow, and the code snippets are short and easy to read.

I had intended to use this book as a quick reference for what was new in C# 4.0. I found out quickly that that wasn't going to work out. This book's purpose is to cover C# from the ground up. That's not to say you won't learn about things added in C# 4.0 - most features mentioned in the book are labelled with the version of C# or the .NET framework in which they were introduced. This was actually a very useful resource at times, because some features have been replaced with newer, more efficient ones.

One of my favorite features of this book were the sections labelled "Advanced Topic". For the most part, if you're a seasoned C# developer, a lot of this book can be skipped, however these sections often provided some good information. Every chapter contain at least one of these sections, and if nothing else, the book is worth grabbing just to read these tidbits.

Another well executed feature was the comparisons with C++. It's obvious that the author had intended to use this book as a gateway for C++ developers to transition to C#. The two languages have a lot in common and throughout the book the same feature or mechanism was also demonstrated in C++. I'm sure someone just entering the C# world from C++ would find this information very useful.

The overall choice of content provided a very good overview of the language. Two chapters were devoted to multi-threading and synchronization, and with the ever-increasing number of cores in today's processors, learning how to properly multi-thread and application is very important. The author did a great job of illustrating some of .NET 4.0's new features for parellel programming - such as PLINQ. It should also be noted that this book does not cover how to use C# to create specific types of applications. I'm not saying that's a bad thing since it's not what the book was designed for. Just remember, if you're goal is to create a user interface or web service, this book will not tell you how to build it.

Where this book will probably fail is with brand new developers. I would not recommend this book if you're just entering the programming world. There are a lot of concepts that the author assumes the reader knows and is simply illustrating the C# version of these concepts. If you're an experience programmer and you'd like to transition to C#, then this is the book for you.

Intermediate: Definitely
If you know how to program and want to learn C#, this is your book.

Beginners: Maybe
I think it'll be tough, but not entirely worth skipping.

Guru: Good tidbits
May provide some decent reference material. Guru's should probably pick it up solely for the great chapters on parellel programming.

Add Comment

Put code snippets inside language tags:
[language] [/language]

Examples:
[javascript] [/javascript]
[actionscript] [/actionscript]
[csharp] [/csharp]

See here for supported languages.

Javascript must be enabled to submit anonymous comments - or you can login.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.