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: fa0ae,a03ae7f4e53958e1 X-Google-Attributes: gidfa0ae,public X-Google-Thread: 1014db,a03ae7f4e53958e1 X-Google-Attributes: gid1014db,public X-Google-Thread: 1094ba,a03ae7f4e53958e1 X-Google-Attributes: gid1094ba,public X-Google-Thread: 103376,8775b19e3c68a5dc X-Google-Attributes: gid103376,public X-Google-Thread: 114809,a03ae7f4e53958e1 X-Google-Attributes: gid114809,public X-Google-Thread: 109fba,a03ae7f4e53958e1 X-Google-Attributes: gid109fba,public From: Patricia Shanahan Subject: Re: Which language pays most? Smalltalk, not C++ nor Java. Date: 1998/01/01 Message-ID: <34AC5A07.383C4AE3@acm.org>#1/1 X-Deja-AN: 312025602 Content-Transfer-Encoding: 7bit References: <199712121931.LAA25389@sirius.infonex.com> <34A7B45C.403B@min.net> <01bd14b4$dc6f6a80$6428b4cf@carla.ici.net> <68du36$l10$1@darla.visi.com> 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: 1998-01-01T00:00:00+00:00 List-Id: Robert Dewar wrote: ... > This does not mean that extensions should never be used, just that the > programmer should > > (a) be very aware of what is and is not an extension. > > (b) use extensions judiciously when they are definitely useful (i.e. > it would be much harder or impossible to perform the required > function without using the extensions. > > As an example of a worthwhile extension, consider the nested functions > of GNU C. These are quite portable, in that they can be used on any > GCC implementation, are well defined, and are extremely useful (it > continues to amaze me that C and C++ omit this very useful feature, well > known, and well understood to be useful, since the days of Algol-60). > (note that nested functions are particularly valuable in the > context of multi-threaded programs, since they allow the use of non-local > variables that are thread specific. I would add: (c) Prominently document the use of extensions. If the extension is critical to the structure of the program, make sure it is discussed in the highest level of program documentation. For example, if your C-with-gcc-extensions program does depend on nested functions, say so somewhere where anyone considering compiling the program is likely to see it, so they won't be trapped into thinking it is a standard conforming program. Patricia