Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bbn!rochester!crowl From: crowl@cs.rochester.edu (Lawrence Crowl) Newsgroups: comp.lang.c Subject: Re: MAJOR ANSI C FLAW (my opinion, of course) Message-ID: <3329@sol.ARPA> Date: Sat, 17-Oct-87 20:32:50 EDT Article-I.D.: sol.3329 Posted: Sat Oct 17 20:32:50 1987 Date-Received: Sun, 18-Oct-87 12:56:53 EDT References: <8754@utzoo.UUCP> <2481@cbmvax.UUCP> <5532@utcsri.UUCP> Reply-To: crowl@cs.rochester.edu (Lawrence Crowl) Organization: U of Rochester, CS Dept, Rochester, NY Lines: 24 In article <5532@utcsri.UUCP> flaps@utcsri.UUCP (Alan J Rosenthal) writes: >In article <2481@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes: >>... something more readable like "LengthString", "LengthBuffer", >>"LengthLine", "LengthQueue", etc. > >Umm... it's much better style in general to use variables that differ >initially, such as "StringLength", "BufferLength", "LineLength", >"QueueLength", etc. And these are indeed unique to 6 characters. Which is just fine until you need "StringConcat", "StringIndex", "StringField", "StringUpcase", "StringDowncase", etc. Six characters are simply not enough to readably encode both abstract data type and operation name. One is forced into some "line noise" encoding to fit into six unique characters. My personal approach is to use as many characters in external names as I deem reasonable. If the code must be ported to a system which only supports six character external names I'll either buy a REAL compiler/linker or, failing that, invoke "s/ReasonableName/resnam/g". Remember, ANSI may have to support short externals, but you do not. -- Lawrence Crowl 716-275-9499 University of Rochester crowl@cs.rochester.edu Computer Science Department ...!{allegra,decvax,rutgers}!rochester!crowl Rochester, New York, 14627