The Pursuit of Efficient and Composable Asynchronous Systems

My latest column for MSDN Magazine is now available online as well as in print.

Last month I explored a simple technique that you can use today with any C or C++ compiler to implement lightweight cooperative multitasking by simulating coroutines with macros. Although adequate for the C programmer, it presents some challenges for the C++ programmer, who naturally and rightly relies on local variables among other constructs that break the abstraction. In this column, I’m going to explore one possible future direction for C++ to directly support asynchronous programming in a more natural and composable way.

This is the second of three articles where I explore alternative techniques for achieving concurrency in C++. Thanks again to Artur Laksberg from the Visual C++ team for reviewing the drafts and providing valuable feedback.

You can find links to more of my articles here.

2 thoughts on “The Pursuit of Efficient and Composable Asynchronous Systems

  1. CDF

    Hey Kenny… Just watching your C tutorial on Pluralsight… Its really good. One thing… There is an A programming language… its called apl for “a programming language”.

    1. Kenny Kerr Post author

      Thanks! The point I was trying to make is that there was no “A” programming language that B and C were derived from in a chronological sense (to the best of my knowledge), not that there never existed a programming language called “A”.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s