There’s some kind of controversy going on today in our microcosm. I don’t want to enter that controversy because I think nobody’s willing to listen to anybody but themselves.
Instead, I want to propose something different, a trip down memory lane. Most people reading this blog are professional developers who in general care about good practice and good craftsmanship. I do too.
But I also remember how I got started with computers. It wasn’t in a computer science class. I learnt by myself on a TI99/4A in Basic first and then Extended Basic.
It was a magical experience in more than one way: I didn’t really understand what I was doing or what was going on in the computer. I was just doing whatever worked. I had no idea programming computers was hard because it didn’t seem to be.
I was reading books and magazines where I couldn’t understand half the words (I’m French and most of the literature if not all of it was in English) but it didn’t matter. I had silly notions at first, for example, I remember distinctly asking myself if a goto would rewind the cassette tape to go back to that instruction. That is how ignorant I was.
Despite all that, I was able to produce a bundle of spaghetti code that would probably pop my eyes out today but that was a decent video game that I was able to sell to a few people. None of them looked at the code and told me “you’re doing it wrong”. That encouraged me and allowed me to buy new toys. I went on to learn 6502 assembly and dug deeper and deeper into lower layers of my new Atari 800XL. I was starting to make good sense of all this.
Later, I started web programming. Again, silly notions about what was happening behind the scenes. I had no idea what a database really was, it was just a place where I could store stuff and magically get it out later. I had no idea what an object was, just that I could put a bunch of properties on a variable. Inheritance? What’s that?
And here I am, 30 years later, thinking that I’m not too bad at what I’m doing, and occasionally pontificating on the silly things that n00bs can do sometimes.
But there is one thing that I know: I didn’t learn all of that in a week. It took me 30 years to learn all I know today about computers. It was an extremely slow process of doing stuff without understanding it and slowly digging through the silliness to find how it made sense. That’s how I’ve always learned and how I still do it today.
So seriously, try to remember how things were before you became this über-computer geek. How did you start programming? What hardware did you use? What language? What were the silly things you believed?
I can’t wait to see your answers in comments or in trackbacks.