Saturday, May 02, 2009

I was excited to hear that Dr. Stroustrup was going to be talking on C++0x in Vancouver. A bunch of us that registered for the talk got official invites from the Simon Fraser university as our company has an university relations group that work closely with the universities.

So there we were, at the SFU on the 30th of April to take part in Dr. Stroustrup's talk. Dr. Stroupstrup talked about the new ISO standard for C++ that he has been working on and that he intends to get done by 2009, it's called C++0x (zero-x as the year is unknown until the standard is out).

I was expecting some major additions if not changes, however didn't see a lot of new stuff or radically different advances. Well, the reason maybe obvious that millions of people already use C++ and anything newly introduced shouldn't break the existing code and because whatever is done should kind of fit into the existing tool chains.

Here is what I could gather
1. Improvements to aid programming with systems that work closely with hardware, to support concurrency -new components, threads and thread pools added.
2. Increase type safety (strict enum type checks etc)
3. Initializer lists (std::initializer_list) to aid initializing pretty much everywhere - vectors, class members, function arguments something like below

void f(int, std::initializer_list, int)
so -> f(1, {2,3,4}, 5);

4. easier and safer use of templates
5. And a lot of smaller things like static_asserts, simplifying for loop syntax etc.

There were a few lighter moments in the talk that I must say I enjoyed :) He said a lot of people keep saying that C++ is not used much but it is a blatant lie. He also said we are not talking about the medium sized, medium reliable, medium performance applications written by mediocre programmers for windows!

There was also a slide listing what (who) all use C++ -Mar's Rover, Google's file system, Microsoft's every product, Photoshop, Cell phones, Gaming, Graphics, Compilers, Chip design etc.
A detailed list of applications that use C++ on his website -http://research.att.com/~bs/applications.html

It felt good to listen to him speak about something he created (that I have been using to write code) and is passionately working on it, the authority with which he speaks makes it nicer :)

No comments: