How I got into programming

It started a long time ago, but as you can guess, it was a fundamental experience, so I remember some details. I was in elementary school, 4th grade. My family is not religious -I’m not even christened!- and at fourth grade everyone in my class, except for a select few, started going to bible class. My parents asked me if I wanted to and since I didn’t see the point, they didn’t force it. I’m not really sure if my lack of religiousness would’ve allowed me to even participate. Anyways, this meant that the school had to ‘deal with us, outliers’. There was this old man (Mr. Endre) who handled the not-so-huge computational needs of the school and the town council. He helped where he could, so he was tasked with teaching a Computer Class. The school had a bunch of Commodore 64s and some small TVs, and most of the time Mr Endre simply let us play with them. He also brought some games on 5.25″ floppy disks, taught us how to load the games, etc.
At home we had a Commodore VIC-20 with a 16k cartridge extension. It was still far from the 64’s 64k, but it was more than enough. We didn’t have a floppy drive though, only a cassette drive (called a datasette). I asked my father to hook it up to the TV, and I started playing at home too. It wasn’t as convenient as the school machines, and I couldn’t play those fancy games. They kind of started to bore me.
One day I’ve found my dad’s book about Basic. I was fascinated by it, although a lot of things didn’t make sense. I’m not sure why my dad had it, to be honest, he never picked up programming. Anyways, I started reading the book and basically typed in some things that were programs. I didn’t fully understand what was happening, but this mystery lead me on. I couldn’t get enough. I remember one of the greatest revelations was figuring out conditionals – just the fact that I could GOTO to different lines based on some condition opened up a huge space. I also found a way to get input from the user (thinking about it now, these three concepts (conditions, variable assignment and GOTO) meant I’ve found Turing completeness). Combining these things I wrote my first program: a joke teller. It asked if you wanted to hear a joke. If you said yes, it told you one and asked if you liked it. It was a very basic conversational program. I remember gluing the pieces together took me weeks – multiple instances of the computer class plus my free time at home. It wasn’t like I had long continuous, uninterrupted intervals when I could focus on the problems. I had to think about things for days, come up with theories, test them, then wait some more days until I had the chance to touch the computer again. As a fourth-grader, I had to deal with a lot of other responsibilities :)
In a nutshell, this is how it started for me. I think I decided that I wanted to be a programmer then – in fourth grade.

Advertisements