Book Review: Async in C# 5.0 by Alex Davies

cat

I’ve been hearing about async/await forever but didn’t really had a chance to use it until recently.

After playing with asynchronous code for a while I felt I needed to close a few gaps in my understanding and so I looked for a book to provide me with the complete story.

I’m glad I’ve found Async in C# 5.0 – while relatively short (108 pages) it was all I needed to get up to speed.

 

The book starts with the introduction chapters I came to expect – what is asynchronous programming, why you should write asynchronous code and how to write it manually.

On chapter 4 the book really gets interesting we’re introduced to the new C# keywords and using real world scenarios the author walks us through implementation details, task based Asynchronous pattern (TAP), threading details and a lot more.

The book is short and to the point, you get the whole picture – from usage to implementation details and common usage without a lot of “fluff”. I like this pragmatic approach, along with the informal tone makes the book a very easy read.

I like the fact that the author dedicated a full chapter to unit testing (11) but I found it too short and it lacks a few strategies to testing asynchronous code.

I found chapters 12 and 13 a little too specific – they are about async in ASP.NET & winRT. While important for some developers I didn’t find them useful and they seemed to merit there own book for those who do.

The last too chapters are about how the compiler handles async/await and performance – advance topics which I enjoyed reading about. There are a mandatory read for those who really want to understand what happens under the hood.

I found this book good for those who want to get up to speed (and can handle the pace) or as a reference book to those who already use async/await.

I know I enjoyed reading it and plan to re-read parts of it again to fully understand how to make my old compiler do new tricks.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s