written in 2007 and became well-known on reddit.
The final conclusion, that Lisp like life, is
what you make of it, is a play on the
metaprogramming aspects of Lisp.
lecturer who serves his time will probably
graduate hundreds, if not thousands of students.
Mostly they merge into a blur; like those
paintings of crowd scenes where the leading faces
are clearly picked out and the rest just have
iconic representations. This anonymity can
be embarrassing when some past student hails you
by name and you really haven't got the foggiest
idea of who he or she is. It's both nice to
be remembered and also toe curlingly embarrassing
to admit that you cannot recognise who you are
faces you do remember; students who did a project
under you. Also two other categories - the
very good and the very bad. Brilliance and
abject failure both stick in the mind. And one of
the oddest things, and really why I'm writing
this short essay, is that there are some students
who actually fall into both camps. Here's
another confession. I've always liked these
students and had a strong sympathy for them.
failure is nothing new in life. Quite often
I've had students who have failed miserably for
no other reason than they had very little
ability. This is nothing new. What
is new is that in the UK, we now graduate a lot
of students like that. But, hey, that's a
different story and I'm not going down that
No I want
to look at the brilliant failures. Because
brilliance amd failure are so often mixed
together and our initial reaction is it shouldn't
be. But it happens and it happens a lot.
understand that, we have to go back before
university. Let's go back to high school and look
at a brilliant failure in the making. Those
of you who have seen the film "Donnie
Darko" will know exactly the kind of student
I'm talking about. But if you haven't,
don't worry, because you'll soon recognise the
kind of person I'm talking about. Almost
every high school has one every other year or so.
what we're talking about here is a student of
outstanding brilliance. Someone who is used
to acing most of his assignments; of doing things
at the last minute but still doing pretty well at
them. At some level he doesn't take
the whole shebang all that seriously; because,
when you get down to it, a lot of the rules at
school are pretty damned stupid. In fact a
lot of the things in our world don't make a lot
of sense, if you really look at them with a fresh
So we have
two aspects to this guy; intellectual acuteness
and not taking things seriously. The not
taking things seriously goes with finding it all
pretty easy and a bit dull. But also it
goes with realising that a lot of human activity
is really pretty pointless, and when you realise
that and internalise it then you become cynical
and also a bit sad - because you yourself are
caught up in this machine and you have to play
along if you want to get on. Teenagers are
really good at spotting this kind of phony
nonsense. Its also the seed of an illness;
a melancholia that can deepen in later life into
full blown depression.
feature about this guy is his low threshold of
boredom. He'll pick up on a task and work
frantically at it, accomplishing wonders in a
short time and then get bored and drop it before
its properly finished. He'll do nothing but
strum his guitar and lie around in bed for
several days after. That's also part of the
pattern too; periods of frenetic activity
followed by periods of melancholia, withdrawal
and inactivity. This is a bipolar
far? OK, well lets graduate this guy and
see him go to university. What happens to
have two stories; a light story and a dark one.
story is that he's really turned on by what he
chooses and he goes on to graduate summa
cum laude, vindicating his natural
not the story I want to look at. I want to
look at the dark story. The one where
brilliance and failure get mixed together.
where this student begins by recognising that
university, like school, is also fairly phony in
many ways. What saves university is generally the
beauty of the subject as built by great minds.
But if you just look at the professors and
don't see past their narrow obsession with their
pointless and largely unread (and unreadable)
publications to the great invisible university of
the mind, you will probably conclude its as phony
as anything else. Which it is.
stick to this guy's story.
Now the big
difference between school and university for the
fresher is FREEDOM. Freedom from mom and
dad, freedom to do your own thing. Freedom
in fact to screw up in a major way. So our
hero begins a new life and finds he can do all he
wants. Get drunk, stumble in at 3.00 AM. So
he goes to town and he relies on his natural
brilliance to carry him through because, hey, it
worked at school. And it does work for a
brilliance is not enough. You need
application too, because the material is harder
at university. So pretty soon our man is
getting B+, then Bs and then Cs for his
assignments. He experiences alternating
feelings of failure cutting through his usual
self assurance. He can still stay up to
5.00AM and hand in his assignment before the
9.00AM deadline, but what he hands in is not so
great. Or perhaps he doesn't get into beer,
but into some mental digression from his official
studies that takes him too far away from the main
of student used to pass my way every now and
then, riding on the bottom of the class.
One of them had Bored> as
his UNIX prompt. If I spotted one I used to
connect well with them. (In fact I rescued
one and now he's a professor and miserable
because he's surrounded by phonies - but hey,
what can you do?). Generally he would come
alive in the final year project when he could do
his own thing and hand in something really really
good. Something that would show (shock,
horror) originality. And a lot of
professors wouldn't give it a fair mark for that
very reason - and because the student was known
to be scraping along the bottom.
kind of student never makes it to the end.
He flunks himself by dropping out.
He ends on a soda fountain or doing yard work,
but all the time reading and studying because a
good mind is always hungry.
Now one of
the things about Lisp, and I've seen it before,
is that Lisp is a real magnet for this kind of
mind. Once you understand that, and see
that it is this kind of mind that has contributed
a lot to the culture of Lisp, you begin to see
why Lisp is, like many of its proponents, a
brilliant failure. It shares the peculiar
strengths and weaknesses of the brilliant bipolar
this? Well, its partly to do with vision.
The 'vision thing' as George Bush Snr.
once described it, is really one of the strengths
of the BBM. He can see far; further than in
fact his strength allows him to travel. He
conceives of brilliant ambitious projects
requiring great resources, and he embarks on them
only to run out of steam. It's not that
he's lazy; its just that his resources are
And this is
where Lisp comes in. Because Lisp, as a
tool, is to the mind as the lever is to the arm.
It amplifies your power and enables you to
embark on projects beyond the scope of lesser
languages like C. Writing in C is like
building a mosaic out of lentils using a tweezer
and glue. Lisp is like wielding an air gun
with power and precision. It opens out
whole kingdoms shut to other programmers.
love Lisp. And the stunning originality of
Lisp is reflective of the creativity of the BBM;
so we have a long list of ideas that originated
with Lispers - garbage collection, list handling,
personal computing, windowing and areas in which
Lisp people were amongst the earliest pioneers.
So we would think, off the cuff, that Lisp
should be well established, the premiere
programming language because hey - its great and
we were the first guys to do this stuff.
isn't and the reasons why not are not in the
language, but in the community itself, which
contains not just the strengths but also the
weaknesses of the BBM.
these is the inability to finish things off
properly. The phrase 'throw-away design' is
absolutely made for the BBM and it comes from the
Lisp community. Lisp allows you to just
chuck things off so easily, and it is easy to
take this for granted. I saw this 10 years
ago when looking for a GUI to my Lisp (Garnet had
just gone West then). No problem, there
were 9 different offerings. The trouble was
that none of the 9 were properly documented and
none were bug free. Basically each person had
implemented his own solution and it worked for
him so that was fine. This is a BBM
attitude; it works for me and I understand it.
It is also the product of not needing or
wanting anybody else's help to do something.
contrast, the C/C++ approach is quite different.
It's so damn hard to do anything with
tweezers and glue that anything significant you
do will be a real achievement. You want to
document it. Also you're liable to need
help in any C project of significant size; so
you're liable to be social and work with others.
You need to, just to get somewhere.
that, from the point of view of an employer, is
attractive. Ten people who communicate, document
things properly and work together are preferable
to one BBM hacking Lisp who can only be replaced
by another BBM (if you can find one) in the not
unlikely event that he will, at some time, go
down without being rebootable.
other aspect of the BBM that I remarked on is his
sensitivity to artifice. To put it in plain
American, he knows bullshit when he smells it.
Most of us do. However the BBM has
much lower tolerance of it than others. He
can often see the absurdity of the way things
are, and has the intelligence to see how they
should be. And he is, unlike the rank and
file, unprepared to compromise. And this
leads to many things.
machines were a product of this kind of vision.
It was, as Gabriel once said, the Right Thing.
Except of course it wasn't. Here the
refusal to compromise with the market, and to use
the platforms that the C bashers were using
proved in the long run to be a fatal mistake.
brings me to the last feature of the BBM.
The flip side of all that energy and
intelligence - the sadness, melancholia and loss
of self during a down phase. If you
read many posts discussing Lisp (including one in
comp.lang.lisp called Common Lisp
Sucks) you see it writ large.
Veteran programmers of many years with obvious
ability and talent go down with a fit of the
blues. The intelligence is directed inwards
in mournful contemplation of the inadequacies of
their favourite programming language. The
problems are soluble (Qi is a proof of that for
God's sake), but when you're down everything
seems insoluble. Lisp is doomed and we're
all going to hell.
one paper that exemplifies that more than any
other is the classic Lisp: Good
News, Bad News, How to Win Big. If you
read that paper, you feel and see nature of the
BBM. Its unique because Gabriel actually
displays both aspects at the same time.
The positive side, the intellectual pride and
belief in Lisp is there. But also in there
is the depressive 'but its all going to go to
hell' aspect is there too. This is
contained in the message that Worse is Better.
the message in all of this? Basically, that there
are two problems. The problem with the Lisp
mindset and the problem with Lisp. The problem of
the Lisp mindset is the problem of the mindset
characteristic of the BBM.
problem with Lisp? The answer is tailor
made for the minds who program it. It is the koan
is that there is no problem with Lisp, because
Lisp is, like life, what you make of it.