great quote about the "C" language

ggs at ulysses.UUCP ggs at ulysses.UUCP
Wed Dec 7 13:03:19 AEST 1983


With regard to the following:

  >If you don't think minimizing the number of reserved words is a good idea,
  >try Lisp.  At 1000 or more reserved words (the oblist), it's not always
  >easy to avoid stepping on things, and the results of a collision are usually 
  >quite mysterious.

Foul!  There are very few reserved words in Lisp.  The conflicts with the
oblist are no worse that function name conflicts in the C library. The only
cases that I can think of where strange things happen are when you re-bind
some of the atoms that have special significance to the interpretor (input
or output radix, for example).  You can redefine a procedure and cause
a system function to break, but you can also do the same thing to a function
in the C library.  The conflicts are an attribute of the large size of the
support library, not of the language.

  >As for the compiler "probably" doing the right thing, I don't think there's
  >*any* existing portable language in which the compiler can be guaranteed to
  >give consistent results - 36 bits is different from 32, no matter how you try
  >to disguise it...

Lisp is just such a language.  It allows you to deal with abstract objects
that have little relation to the underlying architecture.  I wrote a fairly
large language interpretor in Lisp in 1969.  It ran under Lisp 1.6 on a
PDP-10.  I was able to port it to Franz Lisp on a VAX in 1983 with about
one day's effort.  The changes were to eliminate some non-standard function
references that I shouldn't have used in the first place.  The resulting
code would run on the original PDP-10 system with only a few lines of changes.
-- 

Griff Smith	AT&T Bell Laboratories, Murray Hill
Phone:		(201) 582-7736
Internet:	ggs at ulysses.uucp
UUCP:		ulysses!ggs



More information about the Comp.lang.c mailing list