Book Recommendation: C# In Depth by Jon Skeet

Remembering my continuous, infinite and still going C# learning journey, I found myself in front of another C# book that teaches through a really different approach to make you understand the benefits of this language, In this case I am talking about C# In Depth, by Jon Skeet (3rd Edition was the latests edition at the time) , a senior engineer at Google, this is the third book I picked up when I decided to take up on C# and everything it had to offer. As usual, this is one of the top books that get mentioned a lot when asking around for C# books, and in my case, i had my eyes on it for quite some time back in those days.

This book offers something that not many other C# book have, and that is a side by side comparison of the evolution of several C# features trough their different versions, you can find information and live examples  about how you could write a class in C# 1.0, using the typical syntax any other Object oriented language has to offer, to then show you the modified version of that very same class using private setters in version 2.0, to then modify it again with the arrival of C# properties in 3.0 and lambda expressions and extension methods,  to then add named arguments for clearer constructors and method calls in the version 4.0 and so on, explained step by step.

By knowing some of the most intricate syntactic sugar a language has to offer and the reasoning behind it as they were added, you can increase your problem solving skill and your ability to make readable and maintainable code , because hey, if that feature exist, it probably was created  specifically for something that was needed by programmers all over the world, In my opinion these are usually strong features that usually get ignored by programmers and labelled as gimmicks, but they increase readability pretty much every time they are applied correctly, and the best of it:  it all gets compiled to the same code in the end anyways, and that insight given in the book, that evaluation  of every single C# feature as if was added into the main language through the versions, gives you an edge in the understanding of the current state of things, not only knowing  about the way they work, but also about the “why” they were added in the first place several versions ago,  and “how” they are implemented under the hood, taking your knowledge and understanding of the language to the next level.

Something in particular that I want to mention, is the knowledge related to LINQ, lambda expressions  and asynchronous programming ( the case uses of async / await and working with threads) came from this book, hell, of six hundred pages of content this book has, you can easily look at the contents and see that they dedicate three hundred or so pages to these subjects,  it is a must read for these chapters alone.

I can easily think (and say) that this is one of those book every person that uses C# has to read at least once in his life, it is very compact, touches high level concepts and explains the reasoning behind them, and you will probably end up testing some features that you didn’t used before at all more after reading this book.

As usual, I am reviewing books one or two years after I went through them, looking in hindsight how much they affected me, as some sort of afterthought, and the same way recently deployed code can be considered legacy code, released books needs new editions to be up to date with technology. C# In Depth, Fourth Edition was released sometime during 2017 (which my backlog piled up a little big higher today as I am typing this.), as you can see in the new color of the fourth edition cover,  this one focuses on  powerful new features added to the language in C# 5, 6, and 7.

C# In Depth, By Jon Skeet
C# In Depth, By Jon Skeet

I highly Recommend picking up the latest edition instead, here (non affiliate link, just in case)

 

Leave a Reply

Your email address will not be published. Required fields are marked *