Journal Articles

CVu Journal Vol 12, #6 - Dec 2000
Browse in : All > Journals > CVu > 126 (17)

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: Meetings in Toronto

Author: Administrator

Date: 02 December 2000 13:15:41 +00:00 or Sat, 02 December 2000 13:15:41 +00:00

Summary: 

Body: 

Introduction

To those that have never been to a Standards meeting, national or international, they may seem potentially awesome. When I first attended a meeting of WG21 & J16 in London almost ten years ago I certainly thought that the abilities of some experts to think on their feet was amazing. The sheer perceived intellectual abilities of the participants surprised me. The next time I was so surprised was some six years latter in 1998 when I realised that a newcomer to the process was consulting me as an expert on C++. I do not feel that way.

One thing has certainly changed, despite a fair turnover of participants the C++ Standards Committees seem to be more welcoming. As we had a record number of countries represented for both C (eight national bodies) and for C++ (ten, and had Denmark stayed on from the C meeting it would have been 11, and one ANSI member could have represented another European NB had they bothered to get themselves accredited) I decide the time had come to do an exposé. With that end in mind I did two things, I wrote a short article on the differences between the C and C++ committees and I invited the newcomers to the C++ Committees to share their experiences.

I hope the results will both be enjoyable and encourage others to get involved even if it is only taking the opportunity to 'drop in' when a meeting is in your locality. The next time ISO Committees visit the UK will not be till 2003.

Chicken & Egg

By Francis Glassborow

It is very easy to assume that all committees are alike. If you do so you would be very mistaken. As I sat through the back to back meetings of the international C and C++ Standards Committees I was struck by the contrast between them. Both committees are in a similar phase of their life cycles in that they have recently shipped an International Standard and are now having to look at issues/defects that the public are raising. They also both have ideas for further work.

The thing that crossed my mind was an apparent relationship between the style of each committee and the language it was responsible for. As you read the following think how a committee might organise itself for your favourite language (Java, Python etc.) and consider writing it up as a speculative article for the future entertainment of readers.

WG14 & J11 (The C Standards Committees)

The meeting of these started at the traditional 9.30 on Monday morning. The general administration was done during the first session without any elaborate division between the two committees.

One of the most notable things is the strictly organised agenda with time allocated to each item. There was a feeling in the air that everything could be wrapped up by Wednesday evening.

All the sessions were held in a single room and even when the committee broke up into groups to consider responses to defect reports this was done by bunching together in different corners. For the record, I did not find this particularly conducive to doing my best work. We actually had little choice because only one room had been booked for the meeting.

I should comment that we had the facilities to set up a local network with a server to the Internet via a cable connection. Oddly the ISP who had provided the Internet connection did not run an SMTP server. While this did not matter to most participants, it did to me and I was very grateful to Peter Seebach of plethora.net for arranging that their smtp server would accept email from both the C and C++ committees during the fortnight.

One item on the agenda was Clive Feather's paper on trying to better specify sequence points. While many C programmers know much less about this than they think they do, the surprise is that many real experts are caught by the corner cases. The language of Clive's proposal is not always easy to follow. There is a majority in favour of adding an annex to the C Standard giving a better description but the problem is that this needs to be definitive. During the week we had two other attempts at providing a formal description and the work certainly seems to be moving forward now that we have moved it away from the political arena (should we do it at all?) into the technical one of how we should provide the specification.

The upshot of this was that the meeting actually lasted until late Thursday, and there was even a chance that it might have gone into Friday.

Technical work was also being done on issues of saturated arithmetic and support for embedded processors. Note that both these are concerned with low level support for hardware.

On Tuesday Evening we had a small reception with finger food where those of us who had companions with us could bring them along to meet our fellow committee members. Very few C experts seem to have wives (there aren't any female members of the Committees that I know of) or girlfriends along with them. The reception was very much low key, which matches my general impression of the C Committees. I have a number of good friends serving on these committees but I do not get a sense of much social life from the committees as a whole. This is something that is hard to categorise but is definitely something about the ethos of these committees.

To summarise, the C committees are very much to the point, tend to keep to a strict timetable (but willing to depart from that by general consensus) and keep a divide between work and play.

WG21 & J16 (The C++ Standards Committees)

As always WG21 met for a 'bureaucratic' meeting on Sunday evening. And this lasted about two hours. Why does WG21 need this kind of meeting when WG14 does not? Perhaps the long time that C had only two or sometimes three, NBs present has something to do with it)

The joint committees met at 9am on Monday (8.30 for the rest of the week). It seemed like at least half the people there needed to make up twisted pair cables (OK maybe they only had short ones with them) and it was interesting to note how many got it wrong the first, second or third time.

After the initial meeting together we split into three groups: a group chaired by Martin O'Riordan to continue work on the TR for performance issues, the core group chaired by Mike Miller and the library group with Matt Austern replacing Beman Dawes (after years of service to the C++ community) as chair. Despite having a very much larger room, there definitely was no chance that even two groups would meet in the same room (perhaps there is more ardour in discussions in C++). Who got the room and the network was decided by a toss of a coin (much more democratic than voting on issues where people had strong preferences; comfortable chairs versus internet access).

The working day normally finished at 5.30. The agenda was much more loosely organised, a few things were at set times so that those with an interest could arrange to switch workgroups. Curiously, the actual feel of most work groups is less organised than for C yet in some way more formal. Perhaps one influence here is that there is a wider range of opinion on most technical subjects than would be found in the C committees. On the other hand there seems to be less political manoeuvring. Again, this is hard to pin down but, for example, there was a good deal of offline discussion about how to best meet the Library group's desire to spend some time at future meetings looking at new work rather than just maintaining the existing library. By contrast the during the previous week there had been a degree of politicking to get enough countries in line to get formal permission to do a TR on sequence points.

Lunches during the week were taken at local restaurants in ad hoc groups and people (with spouses if available) went out for dinner in somewhat larger groups of eight to a dozen.

As reported elsewhere, the social event was an excellent two course buffet style dinner with after dinner entertainment put on by three of the committee members. While this was one of the better receptions, it was not that unusual, nor was the presence of a good number of spouses and a handful of children. There is certainly a considerable sense of camaraderie in the C++ Standards Committees, perhaps necessary to mitigate the tensions of, sometimes strongly held, differences of technical opinion.

Reflections

Perhaps some of the differences can be put down to the exuberance of working on a young language (not that C++ is that young these days). Certainly, I enjoy the technical side of both meetings but find the social side of the C++ Standards and the general atmosphere at the informal parts of the week preferable to that of the C Committees. Certainly anyone who expects the same atmosphere in the two meetings is in for a surprise.

I have no doubt that participants who read this will have very different views and will think I have been unfair to them. However I wonder if a language with overloaded operators and functions, access control and friends influences the committees that manage it, while a language of pure values an static binding moulds its committees very differently.

Now, if there were such a thing, what would you expect joint committees for standardising Java would be like? A chance for a little Christmas humour if you feel up to the challenge. However, no flaming please.

Newcomers Impressions

Impressions of the Toronto WG21/J16 Meeting

Walter E. Brown

Marc F. Paterno

Our first-time attendance at a WG21/J16 meeting was memorable. By way of background, Fermi National Accelerator Laboratory is a world-class institution dedicated to basic research in high-energy (particle) physics. Per our Mission Statement, Fermilab "advances the understanding of the fundamental nature of matter and energy by providing leadership and resources for qualified researchers to conduct basic research at the frontiers of high-energy physics and related disciplines." Fermilab operates the world's highest-energy particle accelerator, the Tevatron. More than 2,200 scientists from 36 states and 20 countries use Fermilab's facilities to carry out research at the frontiers of particle physics. Our investigations have produced several significant results. In 1977, a series of experiments with the 400 GeV Main Ring culminated in the discovery of the bottom quark. In 1989, the CDF collaboration made the first precision measurement of the mass of the Z. This measurement was notable since it had not been expected from a hadron machine and it caused excitement and controversy. By 1994, with energies as high as 1.8 TeV, the Tevatron's colliding detector experiments at CDF and D0 discovered the top quark.

The international high-energy community, including Fermilab in particular, has largely adopted C++ as its lingua franca for computer programming. We rely heavily on the C++ Standard because we use many computing platforms and support such a widespread community, and because we need to share software among all our numerous developers and users. We are, of course, particularly interested in the language's support for scientific programming.

Our impressions of the recent WG21/J16 meeting predate, in part, the meeting itself. The process of arranging to join the Committee was itself significantly more pleasant than the formal bureaucracy would suggest. Mike Miller and Andy Koenig were of particular assistance; they (and, in fact, all Committee members) consistently dealt with us with exceptional courtesy and kindness.

The meeting itself was, it is fair to say, largely a learning experience for both of us. Because of the Committee's many years of prior context, it was hard for us to catch up in order to begin to contribute to the Committee's work. On the other hand, no one expected us to jump right in, as our formal membership did not begin until after this meeting (per membership rules). The degree of expertise among the Committee members was truly impressive.

In our experience in other contexts, one does not always find the best people doing the work. This is clearly (and wonderfully!) not the case on J16. Certainly there are members who have special expertise and knowledge in various C++ areas; however, while no one claimed to know all of C++, there are a number of attendees who are, in our view, dangerously close!

The two of us separated in order to get a feel for the work of each of the core language and library working groups. We were impressed with both. The chairs of the working groups were adroit in running the meetings, allowing free discussion while progress was made and injecting summaries and guiding discussion back to useful channels when needed. The degree of collegiality among participants was uniformly high. Even in the presence of disagreements, discussions were always conducted professionally, resulting in progress.

Both of us were made to feel welcome during the entire meeting, but especially so at the Thursday evening social event. A satisfying number of attendees came to introduce themselves, engaging us in both social and technical discourse. Only one representative explicitly asked us why we were bothering to attend, and seemed satisfied with our explanation of Fermilab's interest in scientific applications of C++. In particular, we wish to extend special thanks to Francis Glassborow for inviting us to produce this brief note for ACCU.

In sum, we look forward to our future participation as full-fledged members of the C++ Standards Committee. We appreciate our courteous and friendly reception by the membership, and hope to take an active role in furthering the Committee's work.

My First Experience of WG21 & J16

by Jens Maurer

How I Became Involved

I am a member of Boost (www.boost.org). For those that do not know, Boost is a community effort headed by Beman Dawes to collect and refine interesting/useful C++ libraries written in the spirit of the Standard C++ Library. Beman emailed me an invitation to come to the C++ Standards Meeting in Toronto. After pondering on that for some time, I decided that it was probably a good idea to meet, in person, a few of the regular contributors to Boost.

Of course, I preferred not to pay the expenses myself so I asked my boss if the company would send me to Toronto. She had only recently become my boss and so did not have much experience in this area and requested additional information to use at the next managers meeting. I muttered something about the company using C++ so it should be beneficial to have influence on it and first hand experience of its development. Surprisingly enough, that seemed to have sufficed. However I was asked to write a report afterwards, which I had intended to do anyway.

Simultaneously, I contacted Dietmar Kühl, the head of the German DIN C++ Committee to work out the details of the formal organisation of my attendance at WG21.

Of course, I was telling everyone in the company I am affiliated with that I would be away in October. Naturally questions arose about what I was up to. It was quite impressive to be able to say I was attending a meeting of ISO/IEC JTC1/SC22/WG21, particularly if you expand the acronyms.

Expectations

I am not sure what my expectations were before coming to Toronto. I did expect a fair amount of bureaucracy. Dietmar, however, explained that bureaucracy was to be kept to a minimum and technical discussions were to prevail. The general agenda was clear: looking at potential Defect Reports and preparing the first Technical Corrigendum for the ISO C++ Standard (ISO 14882). Moreover, I thought discussions about the process for handling core languages and library extensions were going to happen.

Reality

On Sunday evening at 6 p.m. things started with a WG21 meeting. This was restricted to official members of national delegations. The meeting was fairly bureaucratic but had its interesting moments. When I saw the agenda item 'Select Language', I was expecting that someone would propose that Burmese or Mandarin would be the language of the meeting, but in the event the majority of German speakers conceded and allowed that English was probably reasonable.

At 9 a.m. on Monday morning, all 55 or so participants gathered around tables forming a large rectangle in the most spacious meeting room in the hotel. It was impressive to watch everyone sitting with a laptop computer in front of them. I was one of the few without one. Many who did not have radio-based networking cards struggled with attaching RJ45 plugs to twisted-pair cables without mixing the wires up. The end result was a model star-topology Ethernet around a sizeable hub in the centre of the room.

Participating companies were limited to North America, Europe and Japan, which I find a bit disappointing for a supposedly international standardisation committee. Nonetheless, someone explained that having ten countries represented constituted a new record.

As might be expected for a meeting on technical computer issues there was a disappointingly small number of women at the meeting. I only counted three apart from the wives of participants who were visiting Toronto during the meeting.

I had originally intended to go to the Library work group. However, as it turned out, the other two members of the German delegation intended to participate in the same group, so I decided to join the core language work group. That group initially spent time finalising its part of the technical corrigendum and then continued to process the issues list (potential defects) categorising them by severity and degree of urgency. I got the impression that Mike Miller, Chair of the core work group did a good job of pushing the discussion along so that by the end of the week all the issues had at least been looked at once.

What puzzles me most is that some people sat silently behind their computers for the whole day, playing solitaire instead of participating in the technical discussions. I find it hard to understand that, considering that their companies go to great expense to send an employee to the meeting. [editorial note: some delegates find themselves attending to protect their company's position or to keep their companies fully informed. As long as technical discussions stay within the expected range of choice these delegates are happy not to waste committee time by restating what has already been said.]

For me, as a non-native speaker of English, it was sometimes difficult to understand what status had been assigned to an issue after its discussion, because the next issue was quickly brought up.

The hotel, Novotel Toronto Centre, was quite pleasant. I found it strange that at breaks, soft drinks were served in tins rather than bottles.

On Thursday evening we had a social event with a buffet style dinner. During this three prominent committee members - David Abrahams, Andrew Koenig and Herb Sutter - played guitar, bass and electronic piano respectively. I appreciated the idea and its execution.

My father had insisted that I take a jacket and tie with me because he thought they would be appropriate. I had tried to convince him that these were unnecessarily denting my baggage allowance for the aircraft, but to no avail. However I did wear the jacket for the social event.

People were generally very kind and forbearing in spite of my committee beginner's questions. [editor's note: Actually this was not noticeable and I well remember Jens questioning something when he was able to quote the day and time when we had arrived at a decision. How do you argue with someone who even records the time of a decision?]

The next meeting is in Copenhagen, Denmark, in April 2001. I am looking forward to going but I first have to convince my employers of the value. However I have no doubts about the latter.

My Week in Toronto

Angelique M Geoffrion

Last week I officially attended my first meeting of WG21 in Toronto. The meeting (hosted by IBM) lasted 5 days and had about 60 attendees.

The meeting began with introductions and it was interesting to put faces with names of authors whose reference books I had used and magazine articles I had read. Soon after the introductions and meeting formalities the meeting broke out into smaller interest groups: core, performance, and library (which I attended).

The library group spent most of the week working on defect reports. I had come not knowing what to expect but thought there would be higher level discussions. Instead I spent days in a room listening to discussions like whether the third parameter in a locale template function should be a pointer or reference type. To me, these discussions were interesting. Not because I was concerned about the topic but because it gave me the opportunity to see the interaction of the group. There were academics wanting to preserve theoretical consistency in the standard, compiler implementors not wanting changes that would cause modifications to their products, and users fighting for functionality to use in their applications. There seemed to be frustration on every side by people who, to my amazement, could quote applicable sections of the standard from memory. Even the changes I perceived to be inconsequential had dramatic impact when viewed from perspectives I would not have imagined.

The last night was a social event hosted by IBM. A pleasant surprise was the entertainment provided by a band consisting of Andrew Koenig, Herb Sutter, and Dave Abrahams. Great food, great entertainment, and everyone coming together drinking far too much wine - not what I had expected!

For the final day the groups came together again to vote on the WG21 issues. A vote passed unanimously in favor of a Technical Corrigendum. A presentation was made to add library extensions and a motion was made and seconded to begin work on writing a formal proposal to begin work on a formal paper proposing this idea.

For me, the meeting was more than a week of reviewing defect reports. It was an opportunity to meet the personalities that have shaped C++. It was a glimpse of the amount of effort/ persuasion/compromise/frustration that went into developing ISO/IEC 14882:1998. [editorial comment: I hope John Benito of Perenial will ensure that Angelique gets further opportunities to participate.]

A Letter from Toronto

Jim Hyslop

Dear Mom,

I'm writing to tell you about my first ISO C++ Standards committee meeting, the one that was held here in Toronto, October 22-27, 2000.

I missed the first two days of the meeting (three if you count "administrivia Sunday"). I wanted to sit in on the Performance Working Group, to get a look at the TR (that's Committee-ese for "Technical Report") on performance - but they wrapped up their business half-way through Tuesday! So, I sat in on the Library Issues Working Group instead.

When I got there, everyone was just setting up their laptops, and hooking into the network. The only person in the room I knew was Herb Sutter, and he graciously took me around and introduced me to various people, including Andrew Koenig, Matt Austern, and David Abrahams just to mention a few.

Matt Austern called the meeting to order, and they got down to work. He ran the meeting very effectively, working by gathering consensus on various issues. It was awesome - and totally boring simultaneously! It was awesome, because I was sitting at the same table as some of The Big Names in C++ - I felt like a minor-league baseball player, who's been called up to the major leagues and is sitting on the same bench as the big stars. It was boring - discussing in excruciating detail some obscure feature of the language. Only a nut would want to participate (this little acorn actually put in a word or two at times :-).

One of the more interesting aspects of the meeting was not the technical nature of it, but the people. I recognized the names of several people around the table from the C++ newsgroups, but I had never seen them before so it was interesting to see how my mental picture of them compared to the actual people. Some of my pictures were close, but others were way off.

When I got bored, the fun part was to look around and see who each of the committee members reminded me of. I found a used-car salesman, a biker, a cop, Bobcat Goldthwait (the comedian), a teacher, and so on. Not that I said any of that to their faces!

On Thursday night, there was a fun evening, complete with a dinner. I gather this is a regular feature of the meetings, although I could be wrong. It took a little work to get Heather to come along - she wanted to know if there were other spouses going to be there. Herb assured her that there would be non-C++ people there, and that there would be no shop-talk.

The dinner was catered by the hotel, and was superb. The other people sitting at our table even managed to refrain from talking C++ - for the most part! We also had some after-dinner entertainment - Andy Koenig, Dave Abrahams and Herb Sutter had formed an impromptu trio on electric bass, guitar and keyboard. All these years I've known Herb, and he never let on that he could sing, or play keyboard. Josée Lajoie (who used to be on the committee) put in an appearance, although I didn't get to meet her.

I hope to be able to make the Copenhagen meeting next April!

Love,

Jim

Edirial Note:

Well that wraps up this little experiment in trying to get more people to understand how Standards are really produced. I hope it encourages more of you to want to get involved.

Notes: 

More fields may be available via dynamicdata ..