Sponsored By Aspose - File Format APIs for .NET

Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!

Book review : C# in Depth Second Edition

Exactly 3 years ago I praised C# in Depth First Edition authored by Jon Skeet. Today, after several months owning and reading the second edition, I am even more enthusiast about this book!

If you know Jon’s blog, you certainly noticed his unique passion for dissecting and then explaining C# details. He event recently wrote a 45 posts series on re-implementing LINQ. Personally I follow only two blogs to keep up to date with C#, the Jon’s one and the Eric Lippert, famous Fabulous Adventure in Coding blog (Eric is part of the C# team and it is not by chance he also wrote the foreword of C# in Depth Second Edition).

C# in Depth Second Edition targets real-world programmers that wish to harness all the C# possibilities. The book is also suited for seasoned C# programmers that wish to become expert or guru. The book might also be useful for C# beginners that have already a decent experience with C++ or Java.

The book presents C# features in their order of delivery, from C# v1 in 2002 to C# v4 in 2010. The evolution of the C# language is still one of the most elegant thing I’ve seen in the software world. When C# appears it was considered as just a Java clone (and it was). Nowadays, it is common to hear Java programmers complaining not having the almost magical C# language constructs (especially generics and LINQ).

Presenting C# features in the chronology order is relevant because this way, the reader gets a solid understanding of the motivation behind each feature. Features in C# didn’t appear by chance, there were a plan to go from what we had to what we have now. Hence, there is no point in trying to learn C#3 LINQ stuff without first mastering C#2 generics.

The book mostly focuses on non-obvious features, and why it is a good idea to use them (or not use them in certain situations). Of course, the major features that are generics and LINQ are thoroughly covered. But less commonly used features, like nullable types or delegates, are also deeply covered. Compared to the first edition, there are 120 extra pages dedicated to C#4 news things, including of course dynamic things, but also the new Code Contract API (technically speaking, Code Contract is not a C# feature, but it is very related to the way programmer write code).

I could ramble on book details, the nice code excerpts, the author’s talent to explain technical things, the cool C# hidden featurettes I learnt from my reading… But let’s be clear, this book is a masterpiece: if you wish to become a solid C# programmer, take a 5 minutes break and go get C# in Depth Second Edition (and take the time to read it, getting it is not enough!).

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://pulse.yahoo.com/_MUOZKNUP2GTUJHJ2HTIZSPZUO4 Ferdinando

    I reviewd it too:
    Jon is just amazing! I higly recommend this book.

    PS: with DZone promo code you can save 40%, if anyone interested.

  • http://www.facebook.com/rohdester Jacob Rohde

    Yeah Jon is just an amazing author; explains technical details in such a clear way. Cannot recomment this book enough.

  • HJ Meulekamp

    Although I already have my epub version (and also the v1), I just ordered the pbook again.. Somewhere I knew I really need to read it again, but since the epub is not loading on my nook I did  not came around to it.

    your post is my hint to get a paper copy and start reading it asap..

    Btw, the discount which expires today at manning did also help in reordering, I at leas dont pay the full price for it..

    Through May 26, you can save 42% on all pBooks, including those preordered with a MEAP. Just enter m1942ms in the Promotional Code box when you check out 

  • João Bragança

    Ok really what is up with these pictures on these book covers? I am not sure what a Turkish minstrel has to do with c# =)