It's C++0x week in Santa Cruz

The C++0x language standards committee meeting is taking place this week in downtown Santa Cruz, California, near where I live. 

C++0x is the informal name for the more formal designation: ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee.  To unpack that:

  • ISO stands for International Organization for Standardization and IEC is the International Electrotechnical Commission, these are the two international standards organizations under which the committee does the work. 
  • JTC1 stands for Joint Technical Committee 1 for the ISO and IEC, and its membership is drawn from national standards organizations and bodies.  
  • SC22 is the international standardization subcommittee for programming languages.  And finally, 
  • WG21 is the international standardization working group for the C++ programming language.

The WG21 working group produced the first C++ programming language international standard in 1998.  It was published September 1, 1998.  The C++ language standard was updated in 2003.  C++0x is a shorthand notation that is commonly used for the current C++ draft language standard. 

From the C++0x FAQ web site, kept up to date by Bjarne Stroustrup, "The standard is expected to be ready for national votes in 2010 -- most likely yielding C++11 even if the ISO bureaucracy takes some time work through its formalities. The name 'C++0x' is a relic of the days where I and others, hoped for a C++08 or C++09. However, to minimize confusion, I'll keep referring to the upcoming C++ standard with the feature set defined here as C++0x. Think of 'x' as hexadecimal." By the way, Bjarne is currently the Computer Science Chair in the College of Engineering at Texas A&M University.

The C++ standards committee meets in different locations around the world to move the draft standard forward, discuss language and library issues brought up in the C++ community and to move the standard to the final step -- a successful vote to approve the updated C++ standard.  Meeting face to face allows the committee members, observers, and visitors to interact and solve issues, raise new problems, and make decisions.  Back in July at the meeting in Frankfurt Germany, a major decision was made to remove "Concepts" from the C++0x draft standard.  An article, by Bjarne, appeared online at DDJ describing the decision as "a major setback for C++, but not a disaster".

There are two primary lists of issues:  C++ Standard Core Language Active Issues (language issues on which the committee has not yet acted), and C++ Standard Library Active Issues (issues which are raised to the Library Working Group).  

There is an updated draft document available for the C++ 0x standard (PDF format). It is designated as document number [N2914=09-0104] and is dated June 22, 2009.  I love the note at the bottom of the cover page which states "this is an early draft. It's known to be incomplet and incorrekt, and it has lots of bad formatting."

There are several C++ compilers that support some, most or all of the draft C++0x standard.  The following is a not so complete list of available C++ compilers that support parts of the draft C++0x standard: Microsoft Visual C++, IBM XL C++, Embarcadero C++Builder, GNU C++, Sun C++, Intel C++, Comeau C++ and Green Hills  C++ (if you know of other compilers, please post a comment and I will update this list).

As part of the preparation for the Santa Cruz meeting a collection of current issues lists, documents, and papers were placed on the working group's web site.   I will post a follow-on blog entry with some of the news that appears after this week's meeting concludes.

Are you using C++ for your programming projects?  What compiler(s) are you using?  Do you have C++ language features you like or dislike?  Even though the committee is getting close to the end of this standardization effort, are there other language and library capabilities that the committee should consider adding or dropping?

Programming is Life!

Recent news for developers:

Windows 7 launch - what Balmer et al said
Windows 7: Corporate customers bullish on adoption plans
Gartner's top 10 technologies include cloud computing, mobile apps
Intel's Otellini says it's time to take the lid off IT budgets
Are Software Developers Naturally Weird?
Tech firms push for R&D tax credit, saying it means jobs
Striking It Rich: Is There An App For That?
Developing Games for Android
I Don't Code in my Free Time
Spring 3.0 Updates Lightweight Java
ARM unveils chip to make smartphones faster, cooler

David Intersimone (David I) is the Vice President of Developer Relations and Chief Evangelist for Embarcadero Technologies. My company blog is at http://blogs.embarcadero.com/davidi

Copyright © 2009 IDG Communications, Inc.

  
Shop Tech Products at Amazon