Windows 7 Herb Sutter: C++ Questions and Answers


Extraordinary Robot
News Feed
Herb's last appearance on C9 was a relatively short chat with me about C++0x. You wanted more questions asked and some of you thought I was just too soft on Herb. Well, Herb decided that the best way to get the questions you want asked is, well, to have you ask them. Most of the highest user-rated questions were asked and Herb answers with his usual precision. So, without further ado, it's C++ question and answer time with the great Herb Sutter, powered by you.

Questions (click the question link for Herb's answer):
Tim Pinkawa: Which non-C++ language do you find to be the most inspiring today? Are there any features in that language that you'd like to see in future C++ incarnations?
Matthias Merkers: So do you think that lacking toolsupport for C++ will be a major problem since there are new better-prepared system-programming languages available?
ZenJu: What is the strategy to deal with C++ language and standard library design flaws in the long run? Are you afraid "bad design decisions" may accumulate over time, thereby making it more and more harder for newbies to learn the language? Herb also briefly discusses noexcept... (two for one!)

Cory: Concepts — why did they fail and what work is being done to bring something like them back?
Cory/jalf: Polymorphic lambdas - why did they fail and what work is being done to bring something like them back?
Ben craig: There seemed to be some controversy over noexcept on destructors. Your books describe your reasoning on why destructors should never throw. What does the opposition consider to be a valid use of throwing destructors?
Anteru: Modules - Are they really coming, and if so, when do you expect the first implementation?
os: Could you discuss briefly the module support that didn't make it into C++0x please? How can this work with templated code that has a lot of functionality in headers?
David: why the long time in C++ standardization work? Will the next standard take as long?
Atle Iversen: I'm not sure how much you're allowed to tell us, but I would *love* to hear some details about MS Windows and/or MS Office; how much C vs. C++, which parts of C++ do they use etc (Google has released an "official" C++ coding standard, but I would love to see something similar from the MS Windows and MS Office teams...)
Cory: Filesystem — something like boost::filesystem is desperately needed.
Cory: Threading — thread pools, fine-grained task model, thead-safe containers.
Charles: Why not add an async/await language-level pattern to C++ just like in C# vNext?
Ari: Can you please comment on the influence of the boost community on the development of the new features of the c++ language. It seems that a lot of new C++0x features/additions have been adopted due to the wide use/acceptance of the feature/s as part of the boost library.
Alfonse: Uniform initialization (the use of {} to call constructors when the type being constructed can be deduced) has the potential to radically reduce the quantity of typing necessary to create C++ types. It's the kind of thing, like lambdas, that will change how people write C++ code. What is the Visual Studio team's priority for implementing this feature, along with initializer lists?
petke: What is on the top of your post C++0x wishlist?

Thanks for all your great questions and thanks to Herb for taking time out of his insanely busy schedule to sit down and answer as many of the highly user-rated questions as possible. Great stuff! We should do this again. For all the folks who asked about specific VC vNext implementations, please try to make it to BUILD as there will be a significant C++ presence at the developer affair in Anaheim (Sept 13-16, 2011). If you can't attend the event in person, then you will be able to watch all of the session online, as usual, after the event right here on Channel 9.


This website is not affiliated, owned, or endorsed by Microsoft Corporation. It is a member of the Microsoft Partner Program.