Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!harvard!godot!ima!ism780b!jim From: jim@ism780b.UUCP Newsgroups: net.lang.c Subject: Re: 6 char externs and the ANSI standard Message-ID: <50@ism780b.UUCP> Date: Mon, 8-Oct-84 00:18:54 EDT Article-I.D.: ism780b.50 Posted: Mon Oct 8 00:18:54 1984 Date-Received: Tue, 9-Oct-84 19:41:39 EDT Lines: 0 Nf-ID: #R:tekecs:-409500:ism780b:25500025:000:1485 Nf-From: ism780b!jim Oct 6 14:26:00 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)