In the first edition of this book, I said that .NET is the future. In the second edition, I said that C++/CLI is the future. In this third edition, I say, “Welcome to the future!” .NET has proven itself to be the future of software development, and C++/CLI has shown itself to be the leading language of bridging the gap between the past and the future.
Don’t get me wrong; C# and Visual Basic 2008 are great development languages, but neither has the flexibility or the pedal-to-the-metal power of C++/CLI. And they are not designed to link the code from other realms that needs .NET to make it shine.
With C++/CLI, you can practically mix and match .NET code and ANSI C++ code (or code from many other development languages) at will. Of course, doing so comes at a cost (we’ll get to that later in this book), but the benefits of being able to mix the code without having to rewrite a lot of it is often worth that cost. As a designer, architect, or developer, your task is to determine whether performing this mixing and matching is worth it.
But C++/CLI is not just a language for bridging the past and the future. It is the most powerful of the .NET languages for developing new code as well. Any functionality you want coded in .NET can be done in C++/CLI. And this book proves it.
Unfortunately, C++/CLI is frequently overshadowed by his younger sibling C#, who gets the majority of the limelight. Well, this book is designed to refocus the light in the correct direction—toward C++/CLI.