Monday, April 19, 2010
That Ragged Old Lisp
Lisp is ugly. Will always be. If you care, you're just not ready yet.
One of my big Common-Lisp-Aha!-moments was when I realized that under its ragged, shabby, muddy exterior lurked the dynamicest, funnest, object-orientedest language of all times.
Yes, the operators may be called PROGV, FMAKUNBOUND, and CDAADR. But the semantics below is just cute. PARC-cute. Industrial-strength. ANSI-standardized. ISO-standardized.
(Insert a huge hand wave here. Actually, we should have gotten rid of cons lists a long time ago, for example.)
Lisp's uglyness is like a stealth-coat, keeping it hidden from the clueless. In fact, in the Lisp I'm currently developing, I'm keeping the ugly names by design, in order to keep the wrong people out.
A great programming language can be found anywhere*. Do yourself a favor and go find the originals. And study them, until you can recite their specification by heart. Then implement them.
(* Totally false, of course. Great programming languages are few and far between.)