Thursday, May 10, 2012

Book Review: .NET 4.0 Generics Beginner’s Guide

I am definitely no kind of expert in .NET software development.  This is probably not a surprise to any of you who’ve read this blog before, but in the case of this book review, it’s an important fact to keep in mind, as this makes me the ideal target audience for the subject of this article.

 

Packt Publishing’s “.NET 4.0 Generics – Beginner’s Guide” by Sudipta Mukherjee is an excellent resource for any newcomer to the .NET development arena.  Mukherjee’s writing style is approachable and not prone to the kind of dense technobabble that is a common feature in many modern computing texts.

Rather than talking at length about underlying principles, Mukherjee sketches out an outline of the topics and approaches relevant to each section, then walks through the application of those principles with the added context of detailed examples.  These walkthroughs contain several “Have A Go Hero” points where the reader is encouraged to try the example out for themselves, and rather than saying “This is what the example will do”, the analysis of the examples happens after the user has attempted to try the code for themselves.  As a kinaesthetic learner I found this to be particularly helpful.  This approach drives the reader towards implementation, not just explanation – and actually having used the code patterns exposed in this text means I’m less likely to forget them after I’ve set the book aside for more than a week.

In terms of topic coverage, I have to say I found this book to be quite comprehensive.  Early chapters explain the history of the problems addressed by generics and outline the interfaces common to most .NET generics (i.e IEnumerable, IComparable) and then jump straight into seeing simple generic types and collections in action. 

This text also contains an excellent introduction to C# Extension

Methods and LINQ.  I have to admit that my understanding of LINQ is only basic at best, and the explanation of the various LINQ clauses along with the use of anonymous funcs, actions and delegates made more sense to me upon reading this text than after attempting to grind through others that have covered the same ground.

As the book progresses, more complex usage patterns are unfolded before the reader, and more complex types that use or are composed of more primitive generic types are explained in the context of the primitive types used.  Multithreading in .NET Generics is described with some especially clear examples, and given my background in scripting, seeing just how powerful the eventing model in .NET 4.0 generics is was - quite frankly – astonishing!  Additional third-party libraries are also described (again, with great examples) and the book is rounded out by a couple of great chapters on best practices and performance tuning – again in a way that takes great pains to show, not tell.

Some of the examples are quite amusing as they occasionally contain quirky references to well known internet and software brands.  Between the easy reading, the great examples and the humour I have little choice but to give this book a 5-star rating, and to offer Mukherjee and the editing team at Packt Publishing a resounding pat on the back!

[tweetmeme source="Ozziemedes" only_single="false"]

No comments:

Post a Comment

Feel free to comment liberally and severally. Note that spam comments will be deleted, and if spam reaches critical mass I may restrict comments to authenticated users.