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: 10a146,a03ae7f4e53958e1 X-Google-Attributes: gid10a146,public X-Google-Thread: fac41,a03ae7f4e53958e1 X-Google-Attributes: gidfac41,public X-Google-Thread: 109fba,a03ae7f4e53958e1 X-Google-Attributes: gid109fba,public X-Google-Thread: 1094ba,a03ae7f4e53958e1 X-Google-Attributes: gid1094ba,public X-Google-Thread: 103376,8775b19e3c68a5dc X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,a03ae7f4e53958e1 X-Google-Attributes: gid1014db,public X-Google-Thread: 114809,a03ae7f4e53958e1 X-Google-Attributes: gid114809,public X-Google-Thread: fa0ae,a03ae7f4e53958e1 X-Google-Attributes: gidfa0ae,public From: Patricia Shanahan Subject: Re: Which language pays most? Smalltalk, not C++ nor Java. Date: 1997/12/27 Message-ID: <34A517C4.5867DAF6@acm.org>#1/1 X-Deja-AN: 310533185 Content-Transfer-Encoding: 7bit References: <199712121931.LAA25389@sirius.infonex.com> <67iipp$ktj$1@darla.visi.com> <882756127snz@genesis.demon.co.uk> <34A14C27.57C0@min.net> <67rjb3$pfb$1@brie.direct.ca> <34A50CAA.54AA@netup.cl> Content-Type: text/plain; charset=us-ascii Organization: Who? Me? Organized? Mime-Version: 1.0 Newsgroups: comp.lang.fortran,comp.lang.c,comp.lang.c++,comp.lang.eiffel,comp.lang.java.programmer,comp.lang.smalltalk,comp.lang.perl.misc,comp.lang.ada,comp.edu Date: 1997-12-27T00:00:00+00:00 List-Id: Guillermo Schwarz wrote: > > Kaz Kylheku wrote: > > Although 'memcpy' is not a reserved keyword by any means, > > it is a reserved 'external name'. > It is the first time I see reserved external. > > A strictly conforming program may not define any external > > name that begins with 'mem' followed by any combination of letters, > > digits or underscores. > Ok. Define void memfoo() { } and see if it compiles. > It does. What does this have to do with the question of whether it is a "strictly conforming program"? Surely that can be resolved only by reference to the language standard. There is no certainty that the set of programs accepted by a particular compiler exactly corresponds to the set of strictly conforming programs. > > Define memcpy, if you write such a static function, you must not > > include the header in > > the same translation unit, else undefined behavior results. > Wrong. The compiler points out two different implementations. > The executable can't be generated. > > There is no such thing as ``overriding'' in C. Each external name must > > have exactly one definition if it is used anywhere in the program. > That's true. C is not object oriented. C++ is just an Smalltalk > wannabe. This thread contains a lot of cross-purposes discussion, because some participants are apparently using what the standard says as their definition of C, while others are apparently using K&R or what the compilers they use currently accept. For terms like "strictly conforming program" I think the language standard is the only reasonable basis. For other issues, common practice or K&R may be appropriate, but please first discuss which basis should be used, rather than diving straight into specific issues that may give different answers. Patricia