[net.lang.c] Are keywords or compiler options preferable?

alexis@reed.UUCP (Alexis Dimitriadis) (04/01/85)

In article <435@alberta.UUCP> jeff@alberta.UUCP (Curt J. Sampson) writes:

>>How about adding keyword(s) 'aligned/unaligned' to deal with the pointer
>>alignment question?  
>
>Ugh!  The last thing we need is a couple more keywords.  How about adding
>it as a compiler option. Adding two new keywords seems rather
>unnecessary.

  Regardless of the usefulness of unaligned structures:

  There is a tendency to increase the flexibility of a language by
adding more fearures/keywords to it, an approach opposed by those
more concerned with keeping the language simple.  An alternative
approach is that suggested by Curt Sampson, namely, to make the features
available as compiler options.  

  Since compiler options are not part of the language, it would probably
be a bad idea to write code (DESIGNED to be portable), that depends on
them.  But they also move what is definitely a design consideration to
the compilation phase, which is often beyond the control of the original
program writer.

  I would be interested in what everybody thinks (assuming you care),
about the extent to which C programs could and should be "introverted",
or self-contained, that is, can be compiled without any knowledge of
their design.

  Clearly, libraries that need to be explicitly linked are one example of
extroversion, while #include files are one way that some control
is given back to the programmer.  (Imagine having to specify include
files at compile time?)  Programs that come with their
makefiles restore most of the control to the author. (If we consider make 
to be an extension of the programmer's control).

  So, here is a new topic, which even relevant to TWO topics going on 
now on this newsgroup.  Should programs be more "introverted", or
should we perhaps achieve flexibility by making makefiles
indispensable?

Innocently Submitted,

Alexis Dimitriadis
-- 
_______________________________________________
	  alexis @ reed
	...ihnp4!{harvard|tektronix}!reed
	...decvax!tektronix!reed
	...teneron!reed