Parallel Programming with C++ – A New Series

Microsoft’s developer division has, at least publicly, been placing a lot of emphasis on making it easier for C# and VB developers to build scalable applications more easily. The Parallel Extensions CTP for .NET 3.5 is clear evidence of their commitment to the C# and VB developer. Why C# and VB and what about C++? Is C++ not getting the attention it needs in the age of parallel programming?

There are many ways to answer that question, but the thing to remember about C++ and specifically Visual C++ on the Window platform is that it has always been very amenable to parallel programming. After all, incredibly parallel programs like SQL Server and Windows itself are developed using Visual C++. Microsoft is spending a lot of effort at the moment making it easier to develop parallel programs in C# because it just isn’t very easy to do in that environment but no such problem exists for the C++ developer. In fact, Visual C++ introduced facilities that made it trivial to apply parallel programming techniques to .NET code years ago in the Visual C++ 2005 release while C# is only now getting similar functionality in the Parallel Extensions CTP. So whether you’re looking for parallel programming techniques for native or managed code Visual C++ is ready and willing today.

In my latest series of articles to be published here on my blog I’m taking a look at parallel programming with C++. I’ll start with the fundamentals of creating responsive client applications and scalable services and along the way look at various techniques and technologies to make it happen. Many are provided by Windows while others are provided directly by Visual C++. I may even cover some of the more enterprise-oriented techniques such as clustering and grid computing if there is enough interest and I have enough time.

Keep in mind that I’m writing this series in my spare time, in the evenings, of which I have surprisingly little these days. My kids want their dad around after all! We also still don’t have Internet access so articles in this series will appear whenever I happen to find the time to write and posted whenever I find an Internet connection. Thanks for reading and I hope you enjoy this new series!

Part 1: Asynchronous Procedure Calls

Part 2: Asynchronous Procedure Calls and Window Messages

Part 3: Queuing Asynchronous Procedure Calls

Part 4: I/O Completion Ports

Part 5: Coming soon...

If you’re looking for one of my previous articles here is a complete list of them for you to browse through.

© 2007 Kenny Kerr

No Comments