https://www.marktarver.com/bipolar.html
bg image(bg10.jpg)
The Bipolar Lisp Programmer
[tree]
(c) Dr Mark Tarver, 2007
Home Brief Computing Philosophy Poetry Esotericism
Bio and AI
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.
+--------------------------------------------+
+--------------------------------------------+