Any 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 talking to. But some 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.
Now abject
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 route.
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. Why?
Well, to
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.
Generally 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 mind.
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.
Another 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 personality.
Alright so far?
OK, well lets graduate this guy and see him go to
university. What happens to him then?
Here we have two
stories; a light story and a dark one.
The light story
is that he's really turned on by what he chooses
and he goes on to graduate summa cum
laude, vindicating his natural brilliance.
But that's 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.
This is 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.
But lets 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 time.
But 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
syllabus.
This sort 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.
Often this 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 mind (BBM).
Why is 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 insufficient.
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.
So BBMs 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.
But it 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.
One of 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.
Now in 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.
And all 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.
Now the 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.
The Lisp
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.
And this 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.
Actually 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.
So what's 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.
And the problem
with Lisp? The answer is tailor made for the
minds who program it. It is the koan of Lisp.
The answer is
that there is no problem with Lisp, because Lisp
is, like life, what you make of it.
|