There were 60 attendees, including performance programmers, C++ Standards committee members and library authors. I attended because most Xbox titles are written in C++, not to mention the majority of the Xbox platform itself. There are many changes afoot in C++, and a good portion of these updates revolve around performance: multithreading performance, runtime performance, and the productivity gains that come from writing code that’s easier to understand.
Here were the most significant takeaways for me from the conference:
- C++0x, the next language standard for C++, is likely to be ratified in 2011. The proposal is currently in Final Committee Draft form, so the only changes between now and standardization are bug fixes.
- The current draft standard (August 2010) is freely available.
- C++0x improves code efficiency – a win for entertainment developers. The best examples are move semantics, rvalue references and perfect forwarding.
- C++0x makes it easier for programmers to read and write C++. Type inference (see auto below) and lambdas are two examples.
- C++0x is big. The draft standard adds over 500 pages to the 2003 Standard (1331 pages compared to 783 pages).
- If there’s one thing in C++ that’s likely to have the impact on the most programmers, it’s auto. As Scott Meyers says: “auto is your new best friend.” Example:
std::vector<T>::const_iterator i = c.begin(); // C++03 complexity auto i = c.begin(); // C++0x simplicity