Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!rochester!PT!ius1.cs.cmu.edu!edw From: edw@ius1.cs.cmu.edu (Eddie Wyatt) Newsgroups: comp.lang.c Subject: Re: MAJOR ANSI C FLAW (my opinion, of course) Message-ID: <1050@ius1.cs.cmu.edu> Date: Sat, 10-Oct-87 15:31:24 EDT Article-I.D.: ius1.1050 Posted: Sat Oct 10 15:31:24 1987 Date-Received: Mon, 12-Oct-87 07:19:56 EDT References: <1132@gilsys.UUCP> <1246@bsu-cs.UUCP> <6543@brl-smoke.ARPA> <1252@bsu-cs.UUCP> Organization: Carnegie-Mellon University, CS/RI Lines: 56 In article <1252@bsu-cs.UUCP>, dhesi@bsu-cs.UUCP (Rahul Dhesi) writes: > I wrote, referring to ANSI's 6-character limit on external identifiers > in portable C, > > No modern system requires such short external identifiers > > and suggested that programmers use 8 characters as a working maximum. > > In article <6543@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) > writes: > >That's one too many for PDP-11 UNIX, or for most pre-flexnames UNIXes. > > Doug Gwyn is factually correct, but my point is important too. I don't > consider the quoted systems to be modern systems. As technology moves > on, those with older architectures will be forced to balance the cost > (and benefits) of sticking with what they have against the cost (and > benefits) of investing in an upgrade. The length of external > identifiers is just one small factor in that. Programmers must ask > themselves how much programming convenience they want to give up (e.g. > convenience of long identifiers) in order to support users who have > consciously chosen not to move with the times. > > It's great to have choices; and you and I are free to do our own > cost/benefit analysis, and our conclusions may not be the same > as ANSI's. Why, you could (horrors!) choose to use arrays larger > than 64 kilobytes, and leave us 80286 users in the lurch! That's > what choice is all about. > -- > Rahul Dhesi UUCP: !{iuvax,pur-ee,uunet}!bsu-cs!dhesi I'm getting tired of your ranting. Do you understand what PORTABLE means. Every C program written in pure ANSI C standards should be able to run on any machine with an implementation of ANSI C. The ANSI committe has accomendated the standard so that the language definition does not preclude it from being implemented on a particular machine. Hence, 6 letter ids have been adopted so that the language can be implemented on some architectures, in particular PDP-11s, where there is a limitation on the id length PERIOD. BTW those archaic beasties, the PDP-11s, still abound. You are not restricted to just using 6-characters id, but you are only guarenteed that the first 6-characters will be used to uniquely defined the id. Doug's point still stands, if you want to use longer ids go ahead, most C implementations will/do have max id lenght > 6, but you are warned that not all implementations do. Geez, some people are just dense!!! -- Eddie Wyatt e-mail: edw@ius1.cs.cmu.edu