Please join us for a talk by Andrew Pardoe on “Safe, Productive & Performant: Who Doesn’t Want it All?” Managed languages—C#, Java, even scripting languages like JavaScript or Python—are fantastic because there’s an intermediary runtime that can do the dirty work for you. Having higher-level abstractions, rich metadata about the code, and the ability to modify your execution at runtime means you can build incredible developer tools for your language. And most managed languages offer some guarantee of safety, be it type and memory safety (such as C# or Java) or a strong sandboxing model (such as JavaScript or Python) or both. But that convenience can come with a significant cost. C++ is built as a “zero cost abstraction” language. The high-level abstractions in C++ (such as template metaprogramming, or new features like concepts) must be able to be compiled down to code that executes just as fast as it would in a low-abstraction language such as C. You can’t make a managed language as fast as C++. Or at least very smart people have tried and failed—this talk will cover some of those efforts at Microsoft. But can you make C++ safe and productive without giving up its performance? Andrew Pardoe has been working in Visual Studio for about 15 years. He started with the C++ team testing the Itanium optimizer and then moved over to the CLR (C# runtime) team to become a PM. After 7 years working on the C# runtime he went to work for an experimental OS group in the Windows organization. In the past year he's moved back to the C++ team where he's responsible for the front-end parser and code analysis. |