From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,df854b5838c3e14 X-Google-Attributes: gid109fba,public X-Google-Thread: 10db24,fec75f150a0d78f5 X-Google-Attributes: gid10db24,public X-Google-Thread: 1014db,df854b5838c3e14 X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,df854b5838c3e14 X-Google-Attributes: gid103376,public From: Bradd W. Szonye Subject: RE: ANSI C and POSIX (was Re: C/C++ knocks the crap out of Ada) Date: 1996/04/19 Message-ID: <01bb2dce.8f2fad80$c6c2b7c7@Zany.localhost>#1/1 X-Deja-AN: 150391276 references: <4k9qhe$65r@solutions.solon.com> <828964950snz@genesis.demon.co.uk> <4kbfup$2vd@news1.mnsinc.com> <4kbl5i$p3@mordred.gatech.edu> <4kbs17$6ts@news1.mnsinc.com> organization: Netcom x-netcom-date: Fri Apr 19 3:57:42 AM CDT 1996 newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.edu Date: 1996-04-19T03:57:42-05:00 List-Id: On Monday, April 08, 1996, Robert Dewar wrote... > Szu-Wen said > > > It's a joke, lighten up ;). > > > (referring to his comment about portability of behavior) > > Actually the joke is on you, because the comment you made is not a joke > at all but instead a very important point, around which a lot of language > design decisions focus. > > An obvous goal of any language design is to minimize or eliminate > undefined and non-deterministic behavior. > > These goals are often not net because of two important considerations: > > 1. Over specifying can lead to inefficient code (e.g. requiring left to > right evaluation) > > 2. Some features (low level bit twiddling, tasking, etc.) may make it > desirable semantically to introduce undefined or ND behavior. > > Debating the compromises here is a major activity of language design. > > True, those are goals of language design. However, they're not goals of language standarization. The goals of *that* are to codify existing practice. Throughout the C language, if it came to a choice between breaking existing code or leaving something undefined, ANSI made it undefined half the time and "implementation-defined" the other half. The demands of C programmers on the language's efficiency on the local machine made it harder still to come up with unbreakable rules. Bradd