How did I learn to cut code?
May 3, 2006
John Montgomery has asked the question – how did you learn to program? I think it all started when my parents gave me LEGO as a young child. I would sit there for hours and build little spaceships and buildings which needed to support their own weight. That might not sound like programming but there are lots of similarities.
- You get an idea to build something.
- You start building it, you encounter problems.
- You solve problems and finish construction.
There was no rigid specification process when I built LEGO spaceships, thats something that I had to put up with when I started working as a software developer – I’m not saying its a bad thing, but its not as insanely enjoyable as starting building something and being surprised how it turned out.
Of course – at some point in time I did get my hands on a computer, and the computers that cut my teeth on were:
- TRS-80
- Commodore 64
In the case of the TRS-80 I’m not sure how I ever figured out how to program on it, I just seemed to be able to make it do things, I can’t remember ever reading a system manual on it, and the Internet didn’t really exist for me back then. In the case of the Commodore 64 I managed to learn enough reading the supplied system manuals to write little text based adventure games.
Occasionally I did get magazines with code listings which I would type in (with errors) but for the most part I just used them to learn the language constructs. It was always fun trying to translate the BASIC listings from the MicroBee variant to C64.
I think the environment for learning how to program these days is very different. You can boot up a machine now and just use your mouse – back then you turned on the computer and it just sat their blinking at you waiting for you to give it a “command”.
So maybe a lot of the people in the field today learnt how to program out of necessity?
May 3, 2006 at 12:00 am
I remember the magazine listings (with errors).
Getting those to work was actually an important part of how I learned to program (it also usually involved some translation between different dialects of BASIC and so on).
Wading through those listings also taught me the value of structure in code (you know why you want it when it’s not there).
And then I’d have a go at adding something to them (colour, splash screens, that sort of thing).
That was in the days (all the kids are snoring now) when computer magazines actually featured fascinating articles that had absolutely nothing to do with business.
Those Were The Days…(am I the only twisted soul who thinks that when everything was hard to do, it somehow seemed more worth doing?)
May 4, 2006 at 12:00 am
Started coding Z80 machine-code, in hex, after hand translating from assembler mnemonics, on a Nascom2 circa 1980… Ah, those were the days! I can remember being ecstatic when I got a ‘moonlander’ program working (if I remember correctly it used an Omega symbol as the lander)
The Nascom2 was actually a pretty advanced machine for its time; It had a real keyboard, a video display, and a massive 8KB memory. To keep costs down, I had to buy it in kit form. It took me about 2 weeks to solder all the connections on the PCB – I think it was about 2000 solder joints! The most amazing thing was that it worked first time – more through luck than skill in my part
At one point I even had a copy of BLS Pascal (Anders Hejlsberg’s first commercial compiler), so writing c# code has a wierd ‘history repeating’ feeling about it
My previous machine had a hex keyboard and a row of leds – one would be hard-pressed to call coding for that machine ‘cutting’