I'm just back from the C++ Standard meeting in Toronto. For the next ISO C++ standard, the Standard Library will have regular expressions, threads, and sockets, and the language will have lambda (i.e. code in brackets passed as an argument) and auto variables (i.e. the variable or argument declaration takes its type from the value used to initialize it). Equally interesting, but mainly to library authors, is concepts, which allows writing (even more!) powerful libraries that give actually-readable error messages at compile time if you misuse them. I say "even more" because with concepts the library can compile to different code if it's passed (e.g.) a literal string than if passed a pointer. The combination of regular expressions, lambda, and concepts means we can write yacc as a C++ library, and offer both better error messages and faster parsing than yacc can.