Net Results: Only once in my life have I written a computer program. I was 13, it was in Basic, and I was utterly miserable trying to understand the "if... then" logic of it all.
I already hated maths with a passion and this horrible assignment was surely the kind of activity inflicted upon the unfortunates in the Dantean circle of hell reserved for poets, novelists and arts graduates.
I was hopeless at it - I can still remember the feeling of cow-like stupidity. I begged my best friend to let me copy her program so that I could pass the class and never for one moment regretted doing so.
Ah, the rich ironies. Once despised, mathematics now is like some beautiful language to me, an Italian of numbers that I still cannot speak or read very well but enjoy in translation, in, for example, a wonderful book I read for the layperson on the history of zero - which gave me insight into why the concept of nought is so astonishing.
Decades after my algebra classes, I got the pure brilliance of solving for x, of why clearing one side of the equation and using zero was the start of a sort of industrial revolution of maths.
Then, those darn computers. From that long ago annus horribilis of the Basic program, I've emerged as one of those people who can spend hours in a computer store, gets excited at displays of old computer hardware in museums and most enjoys finding the corner of the party where the programmers are standing around talking shop.
I've spent close to 10 years writing about almost nothing except computing and technology as my day job. Oh yes, I do realise that that my career choice is a vision of hell for many, such as those who, for some odd reason, don't find the history of the Unix operating system interesting. That's okay; the world would lack its pleasant diversity if everyone agreed that the perfect gift is an Albert Einstein action figure available from www.thinkgeek.com.
I still have no idea how to write a computer program,but I've slowly learned how to feel my way around a computer system, and not just software. I have boldly gone where I never thought I'd go before, opening up the PC and adding memory, new fans and new drives.
But programming - speaking to the machine brain of a computer - defeats me. I admire those that do it, and do it well, as programming has its own distinct beauty. I think nowhere is this described so well and so eloquently as in Tracy Kidder's 1980s classic on the designing of a new computer at Data General, The Soul of a New Machine. His description of programming languages, how each serves as an interpreter between humans and the machine's deepest thinking processes, is itself a work of art.
Likewise, and for similar reasons, I love Neal Stephenson's In the Beginning Was the Command Line. While funny and flippant and delightful in its dissection of the nature of each of the prominent operating systems, I like this book most as a kind of love song for programming.
Which is all very strange given that I don't do it and don't really understand it. The closest I have come is manipulating html, the language used to produce Web pages. I did some tutorials on the Web which enabled me to gradually learn how to read a page of html and fiddle with the design of my website and weblog.
Reading a page of html is exactly like working my way through a page of a French novel (but without the sex). The going is slow but, by careful perusal, I can just about make out what is being said - this line placing an image over to the right, that line adding in some red text or a link.
More recently, I took an even bigger plunge and decided to set up a discussion board. It was all rather exciting - I bought a domain name (painless), transferred it to my hosting company (a little more involved), downloaded the free, open source phpBB bulletin board software, and set about reading the installation manual (yikes).
I confess, much of the manual had me feeling I was back in that Basic class. But the great thing about phpBB is the huge community of programmers and users who offer support through, what else, a phpBB bulletin board. Sure enough, someone had boiled the whole manual down to about 10 steps that I actually understood and, in an evening, I had my board up and running.
The sense of achievement! Solving little problems here and there was like solving a complex puzzle. Because you are talking to a computer, the solution must always be perfectly logical. This was that kind of enormously fun but frustrating, brain-challenging activity that has you so engrossed that hours pass without notice. Suddenly, it is 3am and you're wondering when you forgot to make dinner.
That's when I feel I enter into a little corner of the programmer's world. I can understand the pleasure and the challenge of writing not just code but elegant code; neat and clean and precise. I admire the Hemingways of code, those wielders of the power of zero.