More months than I’d like to think about, I decided to undertake an update of my sorely out-of-date C# book, and Saturday I submitted the last of the chapters for the rewrite. I still have the author review (after the tech review) and the final review to do on each chapter, but that’s a huge amount of work out of the way.

Back when the last version of the book came out, C# was an upstart language that had just added generics to it. Now, several * 3 years later, it has matured into a language with a lot going for it. Over that same time period, I’ve written a lot of C# code and have much more informed opinions about what works and what doesn’t.

When I was working on the update, I was once again reminded that there is a huge gulf between “I understand how that works enough to use it” and “I understand how that works enough to write about it”, and I’ve enjoyed writing the chapters on Linq, the new asynchronous support, and a bit about Roslyn.