SD West ‘07

Few words about this year’s SD West conference. The main reason I attended was to hear what Stroustrup and Sutter had to say about C++ future. Naturally, it was mostly about the upcoming C++0x standard. The most important topics were concepts (see this and this paper as well as ConceptGCC compiler implementation) and threading. Closures are much anticipated, but not so certain to actually make it into the standard. The reason? Dilemma on how to pass enclosing scope local variables – by value or reference. To pass by value (and are values themselves) is thread-safe and there is no concern for the variable lifespan, but what about a GB size buffer (or a pointer to local variable) being copied? If they are passed by reference, sharing in concurrent scenarios as well as lifespan are main concerns. So, all that being said, the jury is still out on it.
There were few other presentations during the two packed “S&S on C++ days”. Herb explained the hardware limits, memory walls etc. Bjarne gave an interesting presentation on use of C++ in safety-critical systems, such as Joint Strike Fighter (he was involved with it) coding guidelines and big marine diesel engines real time control. And then, few interesting topics such as how to mimic CPU pipelining in code (useful technique in some concurrent scenarios) and some not so interesting such as Visitor and Singleton in dozen incarnations, boost::any and boost::variant. The bottom line: well spent couple of days. I stayed an additional day to attend Chuck Allison’s sessions on templates (and actually learned a couple of things ;-), Kevlin Henney’s presentation on patterns and Fortify Software presentation on C/C++ security, where I got involved in an heated debate. Why? Because they did not present any C++ security issues – it was all C flaws. Yes, those are all part of C++. And also one of the reasons why C++ was created (and STL introduced) in the first place – so there would be an alternative way of doing things without backward compatibility and performance sacrifice. I objected to two things: (a) the session title and (b) advice they gave at the beginning: if you want to be safe stop using C/C++ and use … well, I’ll let the reader guess what ;-).