Wednesday, January 25, 2006
So when does 2 not equal 2?
If someone was to drop a bomb on this building, it would wipe out 50 percent of the Lisp community. That would probably be a good thing. It would allow Lisp to start over.
That wasn't exactly what John said, but it was pretty close. Again, the main thing here was somebody with impeccable Lisp credentials saying that Lisp was far from perfect and in fact needed to do better than Common Lisp. The fact that Patrick, Henry, and John all argued essentially the same thing was a wake-up call, I think.
Finding Lisp: ILC 2005, Wednesday report (late)
Now, I have this love-hate relationship with Lisp. I love the
idea of Lisp, and it is a cool language, but I hate the
implementations of it (it doesn't play well with other languages), lack of
syntax (which expresses itself in Lisp as a metric buttload of
parenthesises), the nasty low level details one has to keep in mind (really!
In Common
Lisp, 2 (this particular instance of the number) is not necessarily
equal to 2 (this other instance of the number)—I kid you not!) and the
rather archaic way it still operates (CAR
and CDR
are remnents from the very first implementation where one took the “contents
of the address register” for the current element in a list, and “contents of
the decrement register” for the rest of the list—even though you now have
FIRST
and
REST
LAST
(oh, it's called
LAST
even though it returns the rest of the list)REST
(apparently, I had it right the first time, and LAST
is used
for something else in Lisp—sigh) nobody ever uses those).
Oh, and to get any real speed out of Lisp you have to forego using lists (which is what Lisp stands for—“LISt Processing”) and use more specific data structures (never mind the fact that Lisp is still taught as if it only has lists).
The “John” mentioned above is John McCarthy, inventor of Lisp, which is one of the two oldest programming langauges (the other being FORTRAN), and if he, of all people, doesn't have much positive to say about Lisp, then what chance does it have of gaining wide spread acceptance in the industry (Greenspun's Tenth Rule notwithstanding)?