C# 4.0 Unleashed Book Review
|The author of this book starts off by answering the question, "Why do we need another C# book?". I was asking myself that very question as I turned to the introduction. He says "In short, what sets this book apart from many others is its in-depth coverage of how things work."|
As far as C# 4.0 books go, I have read C# 4.0 in a Nutshell: The Definitive Reference, Pro C# 2010 and the .NET 4 Platform, and CLR via C# (Dev-Pro) . All very good books, very good!!! C# 4.0 Unleashed belongs on the shelf with them. The author does indeed break down the C# language in a unique and very enjoyable way.
The book starts out with a great overview of the .NET Framework and history of C#. The author breaks the history down by versions. He continues this theme throughout the book as he covers features. He includes an icon indicating which version of C# included the feature he is going to cover. This helps in an environment that ranges from 1.1 to 4.0. Now when I find myself in 2.0 code, and I am trying to use a feature I am used to having available since 3.0, I can take a quick look to see if I am nuts, or it is just missing because of the version I am using.
He has included a ton of diagrams that provide a visualization of the topic he is covering. The diagrams really help to speed up the learning process. They really help with the chapters on LINQ.
The author also includes tons of sidebars that are interesting and helpful. A few examples include “No PIA”, “The Origin of the Name C#”, “The Story of a Guy Called Jim... Or How the Dynamic Language Runtime was Born”, “On Backward Compatibility and Keyword Reuse”, “Functions are Data!”, “Functional Techniques in C#: Currying”, “Where does the Name Lambda Come From?”, and “Don’t Repeat Mistakes”.
Pure is the one word I would use to describe this book. It is purely about the C# language. It briefly covers the Framework libraries that are available in the beginning of the book during the introduction, but then it is all about C# 4.0. 1600 pages of C# nirvana!!!
Some of my favorite sections of the book are ""The Evolution of C#", "Life Without LINQ", "Query Expression Syntax", "Co- and Contravariance", "DLR Internals", "The Holy System Root Namespaces", and "Classes Versus Structs".
The downloadable code is in one solution. There is one project per chapter which makes it very easy to find the sample and use it while reading the book.
All in all I highly recommend this book. It is good for both the beginner and the advanced developers.