great quote about the "C" language
Tom Blenko
blenko at rochester.UUCP
Wed Dec 7 15:56:49 AEST 1983
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.
Oh, come on! If you want to argue about reserved words in Lisp, the
only argument is whether there are any reserved words at all. Maybe t
and nil. The oblist contains names from the global name space. If you
reference a variable without declaring it, it is treated as global. If
you don't want to keep track of which global names are used by the
interpreter, declare local variables (that's good programming practice
anyway). Let's not make this any more complicated than it really is.
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.
Fine. How about your floating point arithmetic? Lisp is more portable
than many other languages. No, it's not perfectly portable. So what's
new?
More information about the Comp.lang.c
mailing list