My latest Pluralsight course is now available: The Essentials of COM
The short version: Learn the essentials of Microsoft’s Component Object Model. Understand its history and design, its relationship to classic C++, and how to write COM code effectively with modern C++.
Need more convincing?
This is the first in a series of courses exploring the essentials of COM and the Windows Runtime. In this first course, you are going to learn everything you need to know to use COM confidently and effectively. This course explores the history of COM. You will learn about how C++ shaped the design of COM. You will learn the essentials of compilation and linking, fundamental to the idea of dynamically linking applications and components together. By the end of this course you will have a thorough understanding of COM’s IUnknown interface, how and why it works the way it does, how to implement it, how to use it, and how to wrap it up in a safe and efficient manner with modern C++ libraries.
Here’s a brief description of the modules in The Essentials of COM.
Microsoft’s Component Object Model: the essence of COM, the core concepts, where it came from, and the key players.
COM and C++: COM as a better C++98, dynamic linking, exporting objects, managing lifetime, and extending objects.
IUnknown and modern C++: HRESULTs, GUIDs, implementing IUnknown, IUnknown and C#, smart pointers, and C++11 as a better COM.
Libraries: Windows Runtime C++ Template Library and the Active Template Library
Stay tuned for “The Essentials of WinRT” as well as part 2 of this course, covering activation, apartments, and security!
I realize that many developers are captivated by managed code, but if you’re one of the lucky ones that still use C++ then please help spread the word regarding my Pluralsight courses. I love producing these courses, but it’s only possible with your support. So go out there and tell everyone you know that Pluralsight is the place to go for hardcode C++ developer training.