Don’t learn lisp, please. I beg you. Do yourself a favor and never let it poison your (hope).

Once you know lisp, you realize that 99% of software development is just dealing with superfluous complexity. Of course, you surely already know this. All developers are forced onto the shoulders of those who came before us. We are beholden to the decisions they made, both good and bad. And thinking in Lisp highlights this contrast even more.

Lisp will make you a Unix hater. You’ll begin to see how poorly many things in the world of computing are designed. A system need not be incredibly obtuse to be powerful. In fact, removing that complexity often makes the whole system much more powerful.

And yet, for all that power, there are some things that I feel that Lisp cannot handle well. For example, I have yet to see any lisp system that works elegantly with Unix. Scsh is probably the nicest system to deal with Unix, but it has many warts which makes you lose a little (hope).

Lisp will make you totally understand the beautiful tragedy of Emacs. You’ll see why it is very stuck in its own stack. You will understand the reason Emacs users tend to encourage Emacs to engulf their whole lives. Its not that we want it to be this way – trust me. Its just so nice and cozy in here!

Lisp does give you great power. You can do certain things with it that are nearly impossible in many other languages. However, much of that is just impractical.

These days, I mostly program in Emacs Lisp, because it is just so plain useful. It lets me get my hit of lisp elegance so that I can get on with my real work. Maybe someday computing will be advanced enough that my frustration will only be a faded, unpleasant memory.

One can (hope), can’t one?