As the 80s progressed, the program my brother and I would type into Commodore 64s in department stores when
nobody was looking got longer and more complicated.
I vaguely remember the ultimate version asked you for your name, then asked you if you were an idiot.
If you entered "Y" it would print out "(name) is an idiot!!!" a few hundred times. If you said "N"
it would print out "(name) is a liar!!!"
Then it would clear the screen and return to the first prompt. GOTO 10.
(2) 1997: Miranda
After dropping out of Law and spending a year âfinding myselfâ, I decided to take a shot at studying
Computer Science. My first text book was
Bird
and Wadlerâs Introduction to Functional Programming, taught with one of Haskellâs parent languages,
Miranda.
The charitable side of me says that the professors at my University were really passionate about spreading the
gospel of FP, and were just a
decade or two ahead of their time. The uncharitable side says that they thought CS100 was over-subscribed and wanted
to scare as many students as they could off in the first six months.
(3) 1997: Pascal
First Year Comp. Sci. was one semester of Miranda, in which we learned how to write five-line programs to express
mathematical formulae and comprehend lists, followed by one semester of Pascal in which we wrote programs that
transformed input into output and drew things on the screen. This might explain my next decade-and-a-bit of
assuming Functional Programming wasnât useful for âreal worldâ things.
The final assignment of the year was developing a game of Othello/Reversi. As usual, I left it to the last minute
and wrote the whole thing at 3am in the Mac Lab the night before it was due. Decidedly not as usual, I discovered
the next day that I had got the submission date wrong, and spent the next week fixing bugs, and adding silly
animations and Easter Eggs.
Some time around here I also learned Just Enough C, but never used it for any more than reading other peopleâs
code, and Just Enough Shell Scripting, which is too boring to make the list.
(4) 1998: PHP
I taught myself PHP for the same reason everyone else did. I wanted a webpage where I listed all the CDs I owned
and rated them out of five. OK, maybe not exactly the same reason everone else did, but close enough. Still, it
convinced someone I was overqualified for the tech support job I was applying for, and thus desperate and exploitable,
so it must have been good for something.
Some time around here I also learned Just Enough SQL⦠OK, I knew simple selects, deletes and inserts and had a vague
idea how joins worked, but that pretty much describes where I am almost twenty years later, so whatever.
(5) 1999: Perl
One of my greatest Perl creations was a set of scripts for managing an Internet cafe. One half of the program ran
as an (unprivileged) CGI script that gave the person at the front of the cafe a view of who had been on which
computer for how long, the other half ran as root, listening at a Unix Domain Socket for commands to add or remove
firewall rules to take those computers on and offline. I was pretty proud of it at the time.
I wrote this service after I had already vowed to leave my job, so the code was utterly unmaintainable; partly
because I was using it as an excuse to learn Object Oriented Perl5, and partly because I was doing things like naming
every method after the song I was listening to at the time (oh_my_god_thats_some_funky_stats), or writing
functions with five mutable local variables called $binky, $banky, $bunky, $benky,
and $bonky.
The joke was on me. A month before I left the job, I had to rewrite all of the provisioning and reporting
functionality because they changed their business model.
(6) 1999: VBScript
One day, my boss pulled me into his office and said âDo you know Microsoft Active Server Pages?â
âNoâ¦â
âCan you know them by Wednesday?â
âI guess I can try.â
I was dispatched to the local bookshop to pick up the most plausible-looking âLearn ASP in 24 hoursâ book, and by
the time we met with the client, I could bullshit well enough to get the job.
The job was to rescue a website, the previous developers of which were quite possibly that section of the
infinite monkey dimension that didn't get to produce Hamlet, so the bar was luckily set pretty low, and
whatever I managed to develop was good enough that I was never called on my making the whole thing up as
I went.
Some time around here I also learned Just Enough Javascript, but it took until 2002 for me to work out it was
a real language.
(7) 1999: Java
My father told me there was an opening for me in Sydney at his company, but in order to convince his co-founders
that I knew my stuff I would probably have to know Java. So that was next on my list. I wrote a massively over-
engineered credit-card payment system that I think might at some point maybe have gone into production. That was
apparently enough to talk my way through the interview.