March 06, 2011

You never forget your first

I just realized that is is the 30 year jubilee of the Sinclair ZX 81 computer. It was my first computer. I had already spent over a year writing programs on slips of paper, based the books I found in the library, and finally my parents decided to get rid of them by giving me a computer.

Ah, the wonder of connecting it to the television set and writing a simple hello world program! How many days and nights I tinkered with small simulations and games! The struggle to avoid too much interference from television channels on the screen - I was forced to stop in the late afternoon when the two television channels went on air. System crashes when you nudged the desk the computer stood on and the 16K expansion memory wobbled. A 44x60 pixel Mandelbrot program that took all night. Careful coding to fit programs and data into memory. Poking directly into memory to make "copy protected" lines of code.

This was the computer that made me realize why spaghetti code is bad. I understood dimly the need for object oriented programming as I struggled to maintain data structures across several arrays. I was sitting at my desk working with the radio on P1, accidentally picking up plenty of world knowledge (and one memorable day when I was home from school due to a cold, the unfolding of the Chernobyl disaster - from the first news report of an alarm at the Forsmark nuclear power plant to the final confirmation that something had happened in the Soviet union).

As I got a graphics extension module - 256x192 points resolution! - I began to seriously experiment with computer graphics. I was by no means a power user - BASIC was enough for me, I never learned to do assembler - but this was my first mental extension. When I wondered over a mathematical problem I would try it out on the computer, a habit I have cultured over the years (you can learn quite a lot from just implementing a crude simulation, even if it never gives any data).

I still got it. It is stored safely in a box in Stockholm together with its successor ZX Spectrum, a tape recorder for loading programs, the thermoelectric printer that burned printouts on aluminized paper with tiny sparks, and several tapes that at least once contained my childhood programs.

Posted by Anders3 at March 6, 2011 02:39 PM