When you think about all the code executing in the world at any given time, there's a good chance you're thinking about a lot of code written in C/C++ (aka native code). As Mohsen Agsen mentions so astutely in this impromptu and candid conversation, C++ can be thought of as the dark matter of the developer universe: there is so much of it all around us, hiding in the computational shadows, powering so much of what we take for granted, technologically.
C++ is currently undergoing a renaissance. This means that, by definition, the language, compilers and compositional tooling are evolving and coalescing into a state that maximizes native developer efficiency, productivity, and creativity across hardware and software domains (PCs, mobile devices, embedded systems, operating systems, user applications, services, etc). C++ is a powerful "systems" programming language, but it's more than that. It's object oriented, but it's more than that. At Microsoft, most of our flagship products are written in C++ (and C, like the Windows kernel...). As somebody with a keen interest in programming languages and software engineering, generally, I wanted to get some answers to broad questions concerning the language that consistently ranks near the top of the most widely used general purpose programming languages in the world. Who better to talk to than some key technical leaders driving Microsoft's Visual C++ business?
Mohsen Agsen is a Microsoft Technical Fellow and veteran C++ developer who runs the VC++ engineering team. Craig Symonds is the Director of Program Management for VC++ and a long time Microsoft dev tools veteran. Both Mohsen and Craig have been at the company for many years and have a ton of industry experience. I paid them a visit to see what’s on their minds these days regarding the native developer community, C++, Visual Studio, and more. As you will learn, Microsoft and Visual Studio, specifically, are re-doubling efforts to take part in the native code renaissance. Accordingly, you may see advances in our native tooling that the team thinks of as “C++ first” -> VC++ will extend its capabilities on a faster pace than it has ever done so in the past, at times surpassing the other VS languages/runtimes, in specific scenarios. This is exciting and a long time coming, but of course it's more passion than promise at this point. There is no specific news here, just perspectives and insights among some very bright people driving Microsoft's C++ efforts. I really enjoyed the conversation with Craig and Mohsen and hope to chat with them again in the near future.
Links into specific conversation points (video skimming):
State of the union for C++ from Microsoft's perspective
C++ as both a low level and high level programming language
C++ as object oriented, but OO is a capability, not a requirement
Garbage collection in C++. Why not?
Visual Studio C++ integration and parity with the other languages/runtimes in VS and C++ first
Here’s to the C++ Renaissance.
Tune in. Enjoy.