In Review: C# 7.0 in a Nutshell

CShart7InaNutshellrecommend-caveat4

I’ve always been a huge fan of O’Reilly’s “In a Nutshell” series. C# in a Nutshell was no exception. Simply put, it’s the definitive desk reference for the C# programming language.

One look at my copy of  the 4.0 edition in this series (below) and you’ll see how much I get out of these books. I carried this book everywhere and studied often. I even brought it to the gym, so I could read it while walking on the treadmill.

This seventh edition includes three chapters on LINQ and covers dynamic, asynchronous, and parallel programming.

While every C# developer would benefit from this book, it does assume a fairly good understanding of basic programming concepts. More on that later.

What Makes It Dope

Having a hard copy instead of electronic version of this book was especially useful when I began watching videos and working through code examples.

Back when I was still learning about key C# constructs, when the 4.0 version of this series was released, I found myself needing to look up terms and phrases constantly. That meant I was opening a ton of new browser windows as I worked. I found it much easier to  flip through this book.

By marking the many new terms and concepts it covers with highlighters and post-in notes, I was able to quickly find and review important parts of the book as I progressed into new areas. This was a huge advantage while working through practice code because it meant that I didn’t need to worry about loosing my place in the code example, while switching between Visual Studio and the reference information being displayed in my browser.

What Doesn’t

It dawned on me as I wrote this, that the C# 4.0 version of this series sat on my bookshelf for quite some time before I committed to reading it.  Every now and then, I’d pick it up and read a little, only to put it down, sometimes for months.

This book is relentless in its usage of proper terminology. When I was first introduced to C# 4.0 in a Nutshell back in 2010, I wasn’t able to make it through a single page without having to constantly refer back to my notes in review. I quickly became fatigued and discouraged and stopped studying for a while.

Each chapter builds on itself. If you  see words like field or instance and their meanings don’t immediately come to mind, or you don’t have a really good understanding of what makes up the parts of a class or type (all covered in chapters 1-4), you’re likely going to have a much more difficult time understanding more advanced concepts, like interfaces and delegates in chapter 5.

These concepts are difficult to understand when they’ve only been explained to you by one author of a book. Since the author doesn’t have an opportunity to rephrase, you should have other resources on hand that can cover difficult material separately.

That’s why I think you should augment your learning with online training options. You don’t have to break the bank to do it. Check out the Microsoft Virtual Academy, PluralSite.com, Lynda.com or even YouTube channels like Free C# Tutorials by Derek Banas. These additional resources will undoubtedly provide you with the repetitive instruction and alternate viewpoints that are required for the material to finally sink in.

Lastly, just because you have experience programming in another language, doesn’t mean you can skip the basics of this one. This is true of any programming language. Don’t just dive into the middle of the book. If you do, your learning will be restricted to everything that’s true based on incorrect assumptions. Never skip the first chapters of a programming book.

Good luck!

Question or comment?