Home > Uncategorized > Thoughts on Programming from Douglas Adams

Thoughts on Programming from Douglas Adams

Dirk Gently’s Holistic Detective Agency

During the weeks since I’ve updated I’ve been thinking a lot about computer programming. I’ve decided to learn how to do it. I find it interesting that when I tell people this they sometimes ask me why. And to me this is a shocking question, akin to asking someone why they would want to learn to read and write. It isn’t one that I had given much thought to, though I’ve usually thought that I wanted to learn how to write programs, I’ve only recently done much thinking about why.

In one way, I take it for granted that there is some value to trying to learn anything. But on the other hand, haven’t I said that when you have the power to learn anything you might want to learn that forethought and the refinement of your goals becomes of greater importance? A skill is learned, not merely because it is good to learn things. Why not learn to play the guitar or juggle instead? They could do more to make you the life of a party, after all. No, you embark on the long project of acquiring a particular skill so that you can employ it to achieve some special result there is no other way to achieve. Acquiring the skill of programming is a means, so it makes sense to ask what is the end to which it is directed?

I’ve considered this a great deal over the past month, and have come up with a number of answers. For today, here is an unusual perspective on the craft of programming, and on the personality that successful programmers can grow out of, from Douglas Adams brilliant comedic novel, “Dirk Gently’s Holisic Detective Agency.”

“So tell me, … what you’ve been up to, my dear chap. Something to do with computers, I understand, and also to do with music. I thought you read English when you were here — though only, I realise, in your spare time. … Now wait,” he interrupted before Richard even had a chance to start, “don’t I vaguely remember that you had some sort of computer when you were here? When was it? 1977?”

“Well, what we called a computer in 1977 was really a kind of electric abacus, …”

“There really wasn’t a lot this machine could do that you couldn’t do yourself in half the time with a lot less trouble,” said Richard, “but it was, on the other hand, very good at being a slow and dim-witted pupil.”

Reg looked at him quizzically.

“I had no idea they were supposed to be in short supply,” he said. …

“I’m sure. But look at it this way. What really is the point of trying to teach anything to anybody?”

This question seemed to provoke a murmur of sympathetic approval from [professors]up and down the table.

Richard continued, “What I mean is that if you really want to understand something, the best way is to try and explain it to someone else. That forces you to sort it out in your own mind. And the more slow and dim-witted your pupil, the more you have to break things down into more and more simple ideas. And that’s really the essence of programming. By the time you’ve sorted out a complicated idea into little steps that even a stupid machine can deal with, you’ve certainly learned something about it yourself. The teacher usually learns more than the pupil. Isn’t that true?”

“So I used to spend days struggling to write essays on this 16K machine that would have taken a couple of hours on a typewriter, but what was fascinating to me was the process of trying to explain to the machine what it was I wanted it to do. I virtually wrote my own word processor in BASIC. A simple search and replace routine would take about three hours.”

“I forget, did you ever get any essays done at all?”

“Well, not as such. No actual essays, but the reasons why not were absolutely fascinating. …

Advertisements
Categories: Uncategorized
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: