6 char externs and the ANSI standard

jim at ism780b.UUCP jim at ism780b.UUCP
Mon Oct 8 14:18:54 AEST 1984


> 1. The standard's purpose is to define a portable language that may be supported
>    on most if not all machines. Some older machines can not support more than
>    this limit. To ignore this limitation would be contrary to its purpose.

How can you talk about portability when you consider the large number of
existing otherwise portable programs this would break?  The standard should
protect the large number of existing programs, and demand that implementors
deal with it.  Protecting implementors with weak linkers but screwing existing
code is not the greatest good for the greatest number.  And implementors
should, at the very least, be required to provide a tool that detects
identifiers that will be treated identically even though they are not
textually identical within, say, 32 characters.

One method that pushes portability but might be acceptable would be for an
implementor to provide a tool that maps identifiers into shorter names,
either creating new files or through a list of preprocessor defines.  This
would allow programs to compile and run properly, although debugging would be
more difficult due to the name changes.  But the standard makes no demands
upon the quality of the debugging facilities.  Note that such tools have
already been published on the net.

In light of such methods, I do not think the committee is correct to hobble
the quality of the language for the sake of antiquated implementations.

-- Jim Balter, INTERACTIVE Systems (ima!jim)



More information about the Comp.lang.c mailing list