Topic: ISO vs ANSI C++


Author: James.Kanze@dresdner-bank.com
Date: 1999/07/15
Raw View
In article <7mitn0$dch@library2.airnews.net>,
  "Bill Wade" <bill.wade@stoner.com> wrote:
> Herb Sutter wrote in message <3788dece.3064835@nntp.netcom.ca>...
> >
> >Of course, the committee is still doing some work:
> >
> >We specifically cannot sneak in new features by calling them defects
> >(e.g., no one can say "oh, the library doesn't have a hash-based map
> >[or, garbage collection; or, a GUI library], I consider that a
defect!"
> >to sneak in a new feature). Not to say that it hasn't been tried; it
> >just isn't accepted. :-)

> It is arguable that the committee is doing what it "specifically
cannot."

> Promising that vectors will be contiguous seems to be a feature (and
> codifies existing practice for all commercial implementations).  I'll
agree
> that this is arguable.  If notables such as BS were writing that
vector was
> contiguous they probably thought that was what the standard said and
it is a
> defect if it wasn't what the standard said.

> Removing the vector<bool> specialization, which may happen, is clearly
a
> case of trading one set of well-understood features (my vector of 1e8
> elements fits easily in main memory on my platform) for another set of
> well-understood features (vector<bool> remains a Container, and
performance
> for some access patterns improves).

I think the real question is who enforces the rule.  If the committee
itself is in charge of enforcement, they could sneak in anything they
wanted.  (I don't think they would -- I think they take the rules
seriously.  But potentially, they could.)  If ISO enforces the rules, I
suspect that there are real corrections that won't be allowed.

Your example of vector is one case: requiring the array to be continuous
doesn't change any behavior, and in practice, it doesn't change any
implementations, either.  As such, and given the comments of people like
Stroustrup, I'd be inclined to consider it a (minor) correction.  Would
ISO, though, looking at only the words in the voted upon standard?

Another example that came up recently: the thousands separators in
num_put.  Again, given the comments of the author, and what seems
reasonable, I'd be willing to accept this as a correction.  However, it
*does* change the behavior of user programs, compared to the text that
currently is there (although I'm willing to bet that the number of user
programs actually changed is 0).  And it would require a change in at
least one implementation.  Would ISO accept this?

--
James Kanze                         mailto:
James.Kanze@dresdner-bank.com
Conseils en informatique orient   e objet/
                        Beratung in objekt orientierter
Datenverarbeitung
Ziegelh   ttenweg 17a, 60598 Frankfurt, Germany  Tel. +49 (069) 63 19 86
27


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: James Kuyper <kuyper@wizard.net>
Date: 1999/07/16
Raw View
James.Kanze@dresdner-bank.com wrote:
...
> Your example of vector is one case: requiring the array to be continuous

<nitpick>
contiguous - a continuous array would require a entirely new memory
paradigm:

 array[1.2323]= 25;

;-)
</nitpick>

> doesn't change any behavior, ...

It changes some behaviour which was not guaranteed to work into behavior
that is.

> ... and in practice, it doesn't change any
> implementations, either.

It prohibits some possible implementations, with the effect of
restricting a vector<>'s size to the largest currently available
contiguous block of memory. All of the complexity requirements can
currently be met by a vector<> that allocates multiple fixed-size
blocks.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: clamage@eng.sun.com (Steve Clamage)
Date: 1999/07/16
Raw View
James.Kanze@dresdner-bank.com writes:

>In article <7majdq$j8i$1@engnews1.eng.sun.com>,
>  clamage@eng.sun.com (Steve Clamage) wrote:
>>
>> There is only one C++ standard. Until the year 2003, no changes
>> can be considered, apart from correcting actual errors in a way
>> so as not to make substantial changes.

>I thought that the C standards group produced a technical addendum, with
>added functions for internationalization.  Which would imply that some
>sort of extensions are possible in the intervening period.

Thanks for pointing that out. I had to do some research to find
the answer. (Well, I asked Tom Plum, who asked Bill Rinehuls,
who is the SC22 secretariat.)

ISO has an Amendment procedure. Just like originating or modifying
a standard, it requires a New Project proposal, leading to a New
Work Item if accepted by the ISO membership. The 5-year waiting
period does not apply, but ISO members might raise concerns about
stability of the standard in question if the proposal suggested
significant modifications, and the Work Item might never be issued.

In the case of the C addendum, it was a pure extension to handle
I18N issues characterized as "C Integrity". I don't think any
previous C program with defined behavior was affected by the
addendum.

--
Steve Clamage, stephen.clamage@sun.com
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Valentin Bonnard <Bonnard.V@wanadoo.fr>
Date: 1999/07/16
Raw View
James.Kanze@dresdner-bank.com wrote:

> And it would require a change in at
> least one implementation.  Would ISO accept this?

As I understand it, breaking every implementation
is _not_ an argument against making something a
defect as opposed to a new feature.

--

Valentin Bonnard
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: clamage@eng.sun.com (Steve Clamage)
Date: 1999/07/18
Raw View
James.Kanze@dresdner-bank.com writes:

>> >We specifically cannot sneak in new features by calling them defects ...

>> It is arguable that the committee is doing what it "specifically
>cannot."

>I think the real question is who enforces the rule.  If the committee
>itself is in charge of enforcement, they could sneak in anything they
>wanted.  (I don't think they would -- I think they take the rules
>seriously.  But potentially, they could.)  If ISO enforces the rules, I
>suspect that there are real corrections that won't be allowed.

Just like issuing the standard, the committee creates and votes
on a Technical Corrigendum. It goes to ISO for review voting by
the full membership. The ISO membership decides whether to accept
the TC or not.

I suppose some committee could go off into the weeds and produce a
weird TC that significantly changed the standard it "corrected".
Presumably some reviewer would notice and object. If the committee
could not persuade the ISO membership that what looked like a major
change really was not a major change, the TC would never be issued.

--
Steve Clamage, stephen.clamage@sun.com
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Martin von Loewis <loewis@informatik.hu-berlin.de>
Date: 1999/07/19
Raw View
James.Kanze@dresdner-bank.com writes:

> I think the real question is who enforces the rule.  If the
> committee itself is in charge of enforcement, they could sneak in
> anything they wanted.  (I don't think they would -- I think they
> take the rules seriously.  But potentially, they could.)  If ISO
> enforces the rules, I suspect that there are real corrections that
> won't be allowed.

AFAIK, every Corrigendum and every Addendum goes through the ballot of
the ISO member states (are there other voting members but states?).
The member states could certainly reject a corrigendum if it does not
only correct.

Of course, the power is now with the individuals that represent the
member states...

Regards,
Martin
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Pete Becker <petebecker@acm.org>
Date: 1999/07/11
Raw View
Paul Baxter wrote:
>
> As I understand it, the C++ standard has been accepted by ISO.
>
> Is the SAME standard to be ratified by ANSI (or is this even needed?)

My understanding is that it's not needed.

>
> I ask because of a few curious comments made at a recent meeting where some
> programmers at a customers site believed that a
> 'final' (for the next few years anyway) standard although agreed by one
> organisation hadn't been agreed by 'others' and that further changes might
> be likely.

They're probably thinking of what happened with the C standard, which
was created by ANSI and changed a bit by ISO. The C++ standard was
developed under a new procedure, with both groups working together. This
meant, for example, that formal votes had to be taken twice: once for
ANSI members to advise our ISO representative on the US position on the
issue, and a second time for the official ISO vote.

>
> They valued stability of the standard as paramount, and were trying to use
> this against C++.

They sound desparate. <g>

> Personally I'm happy with an ISO standard but didn't feel
> I could refute their claims without some more specific knowledge.
>
> I'm somewhat confused and wish to know simply whether the new ISO standard
> *IS* the current world-wide standard that (hopefully) compilers will strive
> for, or are the posts going to be moved in the next year or so with a
> slightly modified ANSI standard?

It's official and worldwide.

--
Pete Becker
Dinkumware, Ltd.
http://www.dinkumware.com


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: clamage@eng.sun.com (Steve Clamage)
Date: 1999/07/11
Raw View
"Paul Baxter" <nospam@paje.globalnet.co.uk> writes:

>As I understand it, the C++ standard has been accepted by ISO.

>Is the SAME standard to be ratified by ANSI (or is this even needed?)

Because some slightly conflicting answers have been posted,
let me clarify the situation.

The ISO C++ standard was produced as a joint effort by the
ANSI J16 committee (acting as a "Type I" committee) and the
ISO SC22/WG21 committee. The standard was completed in November
1997, ratified by international voting as an International
Standard (IS) in July 1998, and published in September 1998.

As a separate step, ANSI decides whether to adopt the IS as an
American National Standard. (In principle, ANSI need not adopt
any ISO standard as an American National Standard.) In 1998 ANSI
voted to accept the ISO C++ standard as an American standard.

(ANSI actually conducted two separate votes: The first was to
determine the US national vote on whether IS should adopt the
final draft as an IS. The second was an internal vote on whether
to adopt the IS as an American National standard.)

There is only one C++ standard. Until the year 2003, no changes
can be considered, apart from correcting actual errors in a way
so as not to make substantial changes.

--
Steve Clamage, stephen.clamage@sun.com
Chair, J16 C++ Committee

[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: hsutter@peerdirect.com (Herb Sutter)
Date: 1999/07/11
Raw View
On 10 Jul 99 21:26:05 GMT, "Paul Baxter" <nospam@paje.globalnet.co.uk>
wrote:
>As I understand it, the C++ standard has been accepted by ISO.

Yes, in 1998.

>Is the SAME standard to be ratified by ANSI (or is this even needed?)

Yes, except that it's already done... it's already both an ISO and an
identical ANSI standard, and there's no "ANSI ratification" pending.

Note that the ISO and ANSI committees have been meeting simultaneously
since nearly the beginning of standardization... every major vote has
been done with all the ISO and all the ANSI people in the same room. The
committees decided early on that they wanted to be "joined at the hip"
like siamese twins; they walk everywhere together in perfect step.
Everything was done with full consensus.

>They valued stability of the standard as paramount, and were trying to use
>this against C++. Personally I'm happy with an ISO standard but didn't feel
>I could refute their claims without some more specific knowledge.

The C++ standard is 100% stable: We aren't allowed to consider changes
for five years.

Of course, the committee is still doing some work: We are processing
potential defect reports (DRs) in the meantime to fix typos and add
clarifications and things like that, and we will likely produce a
technical corrigendum (TC) in about two years which will bundle up and
make "official" these minor fixes. But this process can't be abused to
add features... that is, we can only process true defects (e.g., if the
standard says "2 equals 3" which is wrong; or if the standard says
objects are red in one place, and blue in another, which is
inconsistent; things like that).

We specifically cannot sneak in new features by calling them defects
(e.g., no one can say "oh, the library doesn't have a hash-based map
[or, garbage collection; or, a GUI library], I consider that a defect!"
to sneak in a new feature). Not to say that it hasn't been tried; it
just isn't accepted. :-)

>I'm somewhat confused and wish to know simply whether the new ISO standard
>*IS* the current world-wide standard that (hopefully) compilers will strive
>for

Absolutely yes.

>, or are the posts going to be moved in the next year or so with a
>slightly modified ANSI standard?

Absolutely no.

Herb


---
Herb Sutter (mailto:hsutter@peerdirect.com)

PeerDirect Inc.     2695 North Sheridan Way, Suite 150
www.peerdirect.com  Mississauga Ontario Canada L5K 2N6


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: "Darin Adler" <darin@bentspoon.com>
Date: 1999/07/11
Raw View
"Paul Baxter" <nospam@paje.globalnet.co.uk> wrote:

> As I understand it, the C++ standard has been accepted by ISO.
>
> Is the SAME standard to be ratified by ANSI (or is this even needed?)

The ISO C++ standard (ISO/IEC 14882) was approved by ANSI as an American
National Standard on 7/27/98, according to the cover page of my copy of the
standard.

So the standard was "ratified by ANSI" a year ago.

    -- Darin


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: jackklein@att.net (Jack Klein)
Date: 1999/07/12
Raw View
On 10 Jul 99 21:26:05 GMT, "Paul Baxter" <nospam@paje.globalnet.co.uk>
wrote in comp.std.c++:

> As I understand it, the C++ standard has been accepted by ISO.
>
> Is the SAME standard to be ratified by ANSI (or is this even needed?)
>
> I ask because of a few curious comments made at a recent meeting where some
> programmers at a customers site believed that a
> 'final' (for the next few years anyway) standard although agreed by one
> organisation hadn't been agreed by 'others' and that further changes might
> be likely.
>
> They valued stability of the standard as paramount, and were trying to use
> this against C++. Personally I'm happy with an ISO standard but didn't feel
> I could refute their claims without some more specific knowledge.
>
> I'm somewhat confused and wish to know simply whether the new ISO standard
> *IS* the current world-wide standard that (hopefully) compilers will strive
> for, or are the posts going to be moved in the next year or so with a
> slightly modified ANSI standard?
>
> Regards
>
> Paul Baxter

<Jack>

ANSI is a member national standards body of ISO.  ANSI participated in
the development and ratification of the C++ standard.  The electronic
PDF format of ISO/IEC 14882:1998 has these words on the first page:

====
Processed and adopted by ASC X3 and approved by ANSI as an American
National Standard.

Date of ANSI Approval:  7/27/98
====

Note that unlike the original C standard, there was no independent
prior ANSI only standard for C++.  The ISO standard is ANSI standard.

</Jack>
--
Home: http://home.att.net/~jackklein
New Stuff: http://home.att.net/~jackklein/newstuff.html
Updated 5-Jul-1999
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: James.Kanze@dresdner-bank.com
Date: 1999/07/14
Raw View
In article <7majdq$j8i$1@engnews1.eng.sun.com>,
  clamage@eng.sun.com (Steve Clamage) wrote:
>
> There is only one C++ standard. Until the year 2003, no changes
> can be considered, apart from correcting actual errors in a way
> so as not to make substantial changes.

I thought that the C standards group produced a technical addendum, with
added functions for internationalization.  Which would imply that some
sort of extensions are possible in the intervening period.

--
James Kanze                         mailto:
James.Kanze@dresdner-bank.com
Conseils en informatique orient   e objet/
                        Beratung in objekt orientierter
Datenverarbeitung
Ziegelh   ttenweg 17a, 60598 Frankfurt, Germany  Tel. +49 (069) 63 19 86
27


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: "Bill Wade" <bill.wade@stoner.com>
Date: 1999/07/15
Raw View
Herb Sutter wrote in message <3788dece.3064835@nntp.netcom.ca>...
>
>Of course, the committee is still doing some work:
>
>We specifically cannot sneak in new features by calling them defects
>(e.g., no one can say "oh, the library doesn't have a hash-based map
>[or, garbage collection; or, a GUI library], I consider that a defect!"
>to sneak in a new feature). Not to say that it hasn't been tried; it
>just isn't accepted. :-)

It is arguable that the committee is doing what it "specifically cannot."

Promising that vectors will be contiguous seems to be a feature (and
codifies existing practice for all commercial implementations).  I'll agree
that this is arguable.  If notables such as BS were writing that vector was
contiguous they probably thought that was what the standard said and it is a
defect if it wasn't what the standard said.

Removing the vector<bool> specialization, which may happen, is clearly a
case of trading one set of well-understood features (my vector of 1e8
elements fits easily in main memory on my platform) for another set of
well-understood features (vector<bool> remains a Container, and performance
for some access patterns improves).
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: David R Tribble <david@tribble.com>
Date: 1999/07/15
Raw View
Pete Becker wrote:
>
> Paul Baxter wrote:
>> As I understand it, the C++ standard has been accepted by ISO.
>> Is the SAME standard to be ratified by ANSI (or is this even
>> needed?)
>> They valued stability of the standard as paramount, and were trying
>> to use this against C++.
>
> They sound desparate. <g>

disparate?  desperate?  Both?

-- David R. Tribble, david@tribble.com --
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: "Paul Baxter" <nospam@paje.globalnet.co.uk>
Date: 1999/07/10
Raw View
As I understand it, the C++ standard has been accepted by ISO.

Is the SAME standard to be ratified by ANSI (or is this even needed?)

I ask because of a few curious comments made at a recent meeting where some
programmers at a customers site believed that a
'final' (for the next few years anyway) standard although agreed by one
organisation hadn't been agreed by 'others' and that further changes might
be likely.

They valued stability of the standard as paramount, and were trying to use
this against C++. Personally I'm happy with an ISO standard but didn't feel
I could refute their claims without some more specific knowledge.

I'm somewhat confused and wish to know simply whether the new ISO standard
*IS* the current world-wide standard that (hopefully) compilers will strive
for, or are the posts going to be moved in the next year or so with a
slightly modified ANSI standard?

Regards

Paul Baxter
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]