Book Review

Book Review: C# in Depth Second Edition

John Sonmez · Jul 29, 2012 · 3 min read

Been staying pretty busy lately, so I haven’t been reading all that much, but I did just finish reading C# in Depth Second Edition by Jon Skeet.\n\nskeet2_cover150\n\nThis book is basically a coverage of all the major features of the C# language that have changed since the first edition of C#.\n\nIt is a pretty long book, but it covers a pretty large topic and it does indeed cover it “in depth.”\n\nI debated whether it was worth my time to read this book, since I already had a good grasp of most of the C# language, but I am definitely glad I did.  There are many very detailed concepts that Jon does an excellent job of explaining which make other language concepts seem much simpler.\n\nThe book is basically a forward progression through the advances of C# through each major revision.  Jon does an excellent job of presenting not just the what, but the how and whys for each language revision.\n\nThe developer that has at least a decent knowledge of the C# language will get the most out of this book, as it can get a bit tricky and complex at times.  Definitely is a book for advanced developers as well, who will most assuredly learn something about the language they didn’t know.\n\nIf you’ve watched any of my Pluralsight courses, you know that I like to teach in a very informal and conversational way, and it seems Jon Skeet also takes this approach and makes this highly technical book quite readable.\n\nGood:\n\n

    \n

  • Very excellent and detailed coverage of language features of C#.
  • \n

  • Excellent verbal illustrations to help simplify some complex topics and make them memorable.
  • \n

  • Down to earth conversational approach to the material makes it a joy to read.
  • \n

  • The coverage on LINQ is phenomenal.
  • \n

  • Book builds in progression on previous examples and chapters very naturally.
  • \n

  • It is very obvious great detail went into making and planning out this book.  Rare to see today.
  • \n

\n\nBad\n\n

    \n

  • Coverage of dynamics and DLR is a bit dry.  The topic is very complex and I felt like the book launched in a bit too fast.
  • \n

  • Sometimes I felt like Jon was a bit too objective in presenting his opinion.  I generally trust the values and opinions of a skilled developer like Jon Skeet, so I would rather have his opinions be presented a bit more firmly in the book.
  • \n

\n\nWhat I learned:\n\nFirst off, a whole lot more than I would have expected.\n\nThere are many aspects to the C# language that I thought I understood fairly well, but had never turned down one dark little corridor.  This book made me turn down those corridors and face the demons there.\n\nSpecifically, I thought I understood how LINQ providers worked.  I never really looked into one, because I had an assumption about how a LINQ provider would work based on what I knew of the language.  I found out that I was wrong in my assumptions and I now have a much more thorough understanding of LINQ and how all the pieces of the language fit together to make it work.\n\nI also learned quite a bit about dynamics and the DLR.  Although it was a bit painful, I felt like the book got me to reconsider my stance on dynamics just a bit and consider some places in the statically typed C# language where they might make sense.  (Understanding how dynamics work reduced them to the same level as any reflection based code in my mind.)\n\nOverall, I would highly recommend this book.  My only two negatives about the book should not dissuade you from reading it.  A beginner or intermediate C# developer could easily raise both their skill level and knowledge of C# considerably just by reading this book, and any advanced C# developer should have plenty to learn from it as well.

John Sonmez

John Sonmez

John Sonmez is the founder of Simple Programmer, author of "The Complete Software Developer's Career Guide" and "Soft Skills: The Software Developer's Life Manual." He helps software developers build remarkable careers.