Author: Nishant Sivakumar
Publisher: Manning, 2007
Aimed at: Experienced C++ developers who need to work with .NET
Pros: Clear, concise, well written
Cons: None, really
Reviewed by: Dave Wheeler
I really didn’t want to like this book. No matter how you spin it, C++ is not a first class language in the .NET world, simply because it’s not used by line of business application-developers in their day to day work. Instead, C++ is a marginalised language used by developers that try to stitch .NET code together with legacy MFC or ATL applications. So I wanted this book to be so bad that C++ developers would finally give up the ghost, move to C#, and have done with it.
Sadly for me, and happily for C++ developers, this book is actually very good. It provides a concise and clear introduction to C++/CLI, and then shows you how to use C++/CLI to do what it is really designed for: integrating managed and unmanaged code together. As it says in the introduction, it won’t teach you C++ and it won’t teach you .NET. This is a good thing, because Sivakumar remains focused on the needs of his audience. Thus every chapter has value for the reader, but there is an assumption that you are already comfortable with WPF, WCF or Windows Forms. Coverage of the important topics, such as the different interop mechanisms, writing mixed mode programs and dealing with Windows Forms and WPF, is good on the whole.
If I have one criticism, it’s that Sivakumar appears to be slightly too wedded to the idea that C++ developers will want to stick with C++ forever. For example, it’s clear that WPF development is best done in C# (or Visual Basic, but I can’t see C++ developers going that far), yet he presents several options for using C++ that simply don’t make sense for the longer term.
If you’re one of the lucky developers that don’t have to handle legacy code, then this book will have little or no value. However, this book will be a real benefit to the many developers who have to integrate .NET technology into their existing applications, and for that audience I recommend this book.
<Reviewed in VSJ>