C9 interview with Scott Meyers, Andrei Alexandrescu, and me

Scott Andrei Herb at C&B 2011
Scott Andrei & Herb at C&B 2011

After the end of the C++ and Beyond event earlier this month, Charles Torre interviewed all three of us for Channel 9.

I thought it came out really well, and stayed firmly focused on C++ — including even during the parts we talked about D and other languages, where the focus was on how their best parts could be applied to C++.

Charles also taped more of the seminar, including the panels and my opening ‘keynote-y’ talk about the what’s and why’s of the C++ Renaissance. Some of those will also appear on C9 over time; I’ll blog about them as they go up.

Some highlights of this particular interview:

[00:00] Event debriefing

[01:38] Scott on C++ developers

[03:18] Modern C++

[04:17] Why D, Andrei? And what from D could and should be brought into C++?

[17:25] What problems does D solve that C++ can’t?

[22:03] C++ and D interoperability (COM is old, but COM is good)!

[24:22] C++11 and Beyond

[26:01] Herb, ISO C++ Committee’s next phase – what are you going to do? [note: see also more details in my trip report for the standards meeting held the following week]

[28:22] Scott, Andrei and Herb share perspectives on the ISO standards process, philosophies of language design, what C++ gets wrong, what it gets right

[49:48] Perspectives on this year’s event and if/when C++ and Beyond will happen again

Trip Report: August 2011 C++ Standards Meeting

The summer 2011 ISO C++ meeting was held on August 15-19 in Bloomington, Indiana, USA on the wonderful Indiana University campus. The minutes will be available at the 2011 papers page in a couple of weeks.

As previously announced, C++11 was unanimously approved just days before the standards meeting, so this was the first post-C++11 meeting. As planned, at this meeting we focused on processing some bug reports (defect reports, aka DRs) and have some initial discussion of the ‘what’s next’ variety. As expected, no decisions were made about whether we should consider new language extensions soon — that discussion will likely happen at our next meeting in February.

The big news out of last week’s meeting was on the standard library side: There was a clear decision that the library working group is ready to consider new library extensions, starting with the file system library proposal that was already accepted for post-C++11. The following announcement and instructions were read into the minutes:

The C++ committee Library Working Group welcomes proposals for library extensions which will be considered starting in the February 2012 meeting. We have not yet set out an overall timeline for future library extensions, but are ready to consider new proposals at this point.

To increase the chances of your proposal being accepted by the committee, we strongly recommend that a committee member willing to champion your proposal (this could be you yourself, or a delegate) attend upcoming meetings to help shepherd your proposal through the process.

It’s possible that this will take the form of a second library extensions technical report along the lines of the very successful Library Extensions Technical Report 1 (aka TR1). Whatever the form, it’s clear that the first order of business besides maintenance of the C++11 standard will be a new round of extensions to the C++ standard library.

Personally, I think that’s exactly what needed to happen at this meeting, and I’m very happy to see it take place. ASIO or thread pools, anyone? Maybe parallel algorithms, and concurrent containers? Stay tuned.

Looking forward

It’s our tradition to schedule one meeting a year outside the continental United States, and preferably outside North America, because this helps international participation by making it easier for people from all parts of the world to attend. Next year, as we’ve done before, this “un-American” meeting will be the Kona meeting, which is closer for folks in eastern Asia and Australia who may wish to attend.

Here are the planned dates and locations for upcoming ISO C++ standards committee meetings:

We have an international standard: C++0x is unanimously approved

[Update: “C++11” is now the confirmed name — Geneva informs me that they plan to have it published in a matter of weeks, and then we’ll have ISO/IEC 14882:2011(E) Programming Languages — C++, Third Edition. The second edition was C++03, a Technical Corrigendum, or bug patch, that contained no new features. This is the first major revision with new features.]

The final ISO ballot on C++0x closed on Wednesday, and we just received the results: Unanimous approval.

The next revision of C++ that we’ve been calling “C++0x” is now an International Standard! Geneva will take several months to publish it, but we hope it will be published well within the year, and then we’ll be able to call it “C++11.”

I want to extend my thanks again to Bjarne Stroustrup for sharing his work with the world and continuing to help move it forward, and to all of the participants whose hard work went into achieving this important milestone in the history of a great language. Thanks!