I'm back to being optimistic again, though heaven knows why. I write these words shortly after returning from the November 1993 joint meeting of ANSI X3J16 and ISO SC22/WG21, the folks standardizing C++. It's not as if I got everything I wanted at that meeting far from it. But the meeting nevertheless represents an important watershed. The public will soon be able to get its hands on a reasonably complete, albeit informal, draft of the C++ standard.Four years in the making, produced by a cast of hundreds, this mini-spectacular will be in its most complete form ever by about the end of January 1994. It will debut as a draft document circulated within ISO SC22, the parent committee for all international programming language standards. Whatever reviews it garners from its first public exposure will be unofficial sort of like trying out a Broadway play in Providence or Boston but the early feedback will be important nonetheless.
The pressure to produce this informal draft document (it was actually promised by December 1993) has been salutary. Andy Koenig, the new project editor, has cheerfully divvied up the rather large backlog of unincorporated edits to the Working Draft. I won the questionable honor of updating my earlier draft of the library portion (see my Editor's Forum, CUJ October 1993) to incorporate the latest additions to the C++ library. All this frenzy comes to a head by mid January, when Andy and a few friends bring all the bits together in an editing bee held at AT&T Bell Labs.
Pasting the entire draft together for the first time is an important milestone, but it is far from the last one. You can bet that changes will be adopted at the March 1994 meeting in San Diego CA, and at the July 1994 meeting in Waterloo ON. The push is on to incorporate all the remaining proposed additions before the formal public review process commences. And that is supposed to happen for the draft produced after the Waterloo meeting. From that point on, you can expect tweaks of steadily diminishing inventiveness, in response to public commentary. The process will still take years to result in a formal process.
So why am I optimistic? Because the C Standard went out for informal public review in April 1985 and had an immediate stabilizing effect on the entire community. It also had a stabilizing effect on the committee itself. People felt they knew what Standard C was from that date onward, and they weren't keen to see major changes. (In fact, the formal adoption of the C Standard in 1989 was an anticlimax.) C++ is much bigger and fuzzier than C, at the comparable point of development, but I hope it enjoys similar stability soon. That's cause enough for optimism.
P.J. Plauger
pjp@plauger.com