Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site sdchema.UUCP
Path: utzoo!linus!decvax!decwrl!amd!dual!zehntel!hplabs!sdcrdcf!sdcsvax!sdchema!jwp
From: jwp@sdchema.UUCP (John Pierce)
Newsgroups: net.lang.c
Subject: Re: 6 char externs and the ANSI standard
Message-ID: <256@sdchema.UUCP>
Date: Mon, 15-Oct-84 22:11:57 EDT
Article-I.D.: sdchema.256
Posted: Mon Oct 15 22:11:57 1984
Date-Received: Wed, 17-Oct-84 09:58:55 EDT
References: <4095@tekecs.UUCP> <1802@pegasus.UUCP>
Reply-To: jwp@sdchema.UUCP (John Pierce)
Organization: Chemistry Dept, UC San Diego
Lines: 42

Tony L. Hansen writes [in part]:

 > ... anytime you set a minimum like that it's going to be followed in new
 > compilers/linkers as well as the cranky old linkers that won't change
 > to keep pace with the world.

That's exactly correct.  Bad money drives out good money.  Or as with milk:
There's a minimum standard for butter fat content milk must meet for it to be
marketed as "whole" milk.  So what do producers do?  They strip *all* the
butter fat from milk, then add back in just enough to meet the standard.

 > ... my position that the 6 character/mono-case limit should be a SUBSET of
 > the standard rather than having the standard be the minimum case. Make the
 > standard something sensible and then recognize those sub-standard compilers
 > for what they are.

This is far and away the most rational comment on this subject I've seen.  The
rest of Mr Hansen's comments are worth noting, also - see 1802@pegasus.UUCP if
you don't remember them.
-----------------------------------------------------------------------------
Comments on other people's comments:

 > ... Ansi is not proposing limiting variable names to 6 charaters, they are
 > just saying they should be unique in 6 charaters...

Whatever length and case (or lack thereof) is chosen, *all* characters should
be significant.  Talk about ways of promoting subtle, mind destroying bugs...

 > ... The ANSI C standard ... will allow extensions.  The standard is simply
 > to specify what a program must be like if it hopes to be 100% portable ...

It seems to me the standard should specify what a compiler must be able to
accept if it is to be considered a standard C compiler.  Otherwise, it is a
substandard one, and see Tony Hansen's remarks quoted above.

 > ... implementors are not discouraged from adding to the language ...

Thus one achieves portability?  I would much rather see a language defined that
we can live with without "extensions" (i.e., "unportable constructs").

				John Pierce, Chemistry, UC San Diego
				{decvax,sdcsvax}!sdchema!jwp