21 August 2008

C++0x

There is massive confusion about C++0x. I've heard the name made fun of no less than five times in the last couple days, most recently in a blog post that spends a good half page mocking the possible pronunciations. On a side note, I recommend not reading that blog post, it's rather impressively packed full of ignorance. I made a joke about the name on Reddit and realized from the subsequent comments that people seriously think the standards' name is going to be C++0x. "0x" is supposed to be the ratification year -- "x" is not going to stay there. If it gets ratified in 2009 like they expect, the standard will be called C++09. This is not in any way new. C had C89 and C99, released in 1989 and 1999, and they're working on C1x (OMG AN X; how will we pronounce it?). C++ had C++98 and C++03, released in 1998 and 2003, and they're working on C++0x. Just like how we don't clarify C89 or C99 unless it's necessary (we just say "C"), we're not going to be saying "C++09"; we'll be saying "C++". C++0x is not a "new language", it's a new standard for the existing C++ language.

1 comment:

Rob Britton said...

I hate to say it, but I started reading the other guy's article. I didn't actually finish it though, as I tend to get annoyed with trolls rather quickly and decided, for my sanity's sake, to stop reading.

IMHO, C++ is very similar to things like Linux or Vim/Emacs: wonderful for those who take the time to learn how to use it properly, a nightmare for those who don't.