The Wizard of Woz

So this last week was the 30th anniversary of the Mac and that got me thinking back to the early days.  My first "personal" computer was an IBM 5150 I purchased back in 1982.  It had a whopping 576k of memory, twin 5 1/4 floppy drives (because I was living large) and a Hercules graphics card that displayed all the colors you could want provided all you wanted were black and green.  This was long before there were things like hard drives, and I paid more for this than I did for my car: to wit, my Honda Civic cost me $1200, and the 5150 was nearly $11,000.  Oh yeah, and the thing weighed about 7 pounds less than the Honda.

It's been a long, strange ride since then.  If not for the foolishness of Gary Kildall at Digital Research, Bill Gates and company would never have had the foothold on the computer business they enjoyed.  If it wasn't for Microsoft and the relatively easy access to literally anyone who wanted to write software, the personal computer probably would not be as personal a tool as it is today.  If not for Apple (and the infusion of cash they received from Microsoft so MS could avoid the appearance of being a monopoly), we might still be working with large beige boxes instead of sleek laptops made from aircraft-grade aluminum.  If not for Nokia and Symbian, Microsoft and Apple might never have realized that a phone could be more than just a communications device.

At the end of the day, though, it really is as Steve Ballmer so famously - and comically - said: developers, developers, developers.  Because the IBM PC proved such a success, it inspired so many others to enter the market.  The Commodore 64, the Amiga, the Radio Shack Color Computer, Texas Instrument's TI-99 and the Timex Sinclair.  Pretty soon these affordable computers were in just about everyone's home, and in between playing Zork and Zelda, we started to learn how to program in BASIC.  

Back in 1984 I had my PC and a Radio Shack Color Computer (or the CoCo as it was affectionately called).  Since my PC seemed more for business than it did for fun, I started writing programs for the CoCo and storing them on cassette tape.  I wrote two programs I sold under a concept back then known as "shareware" - try it before you buy it.  You'd never know it to look at me today, but I used to ride bicycles cross-country, so I created an app called "Velo" which helped me keep track of the routes I rode, when I rode them and how long it took.  And because my (now ex) wife complained about how much money I spent on bicycles and computers, I wrote "Wealth" to keep track of my non-existent finances.  I sold each through Rainbow magazine as mail order for $1.99 each, and I think I made about $500 - but then, it really wasn't about the money.

Somewhere around this time I learned about Turbo Pascal for the PC from a company named Borland.  I put my $99 down and bought a copy, and realized that I could make a living writing programs for other people.  Well, to be fair, I was already doing that via IBM mainframes, but this was more intimate because I interacted directly with my users.  So I went to my boss at McGraw-Hill with a crazy idea about how I could write a PC program to help save paper by intercepting and storing press releases our analysts received from a satellite feed.  He saw the benefit to the company, gave me the thumbs-up to write the code, and about a month later I delivered an application that prevented things like printer jams and ribbon malfunctions from causing the analysts to miss data.  

And I have been a programmer ever since.

But I digress - perhaps to Olympian lengths.  The anniversary of the Mac made me ponder for a moment how far things have come.  The original Mac had a monochrome screen, and although it was much smaller and lighter than my IBM PC, the one button mouse was nearly the size of my Honda Civic.  The takeaway here is that this really introduced for the first time an non-game oriented graphical computing environment.  Back then, it was pretty difficult to write programs for this new operating system and computer, but as time moved forward tools and languages emerged which lowered the bar to entry, freeing programmers like me to think more about the application than the environment.

When you compare languages and tools today with those 30 - or 20 or even 10 - years ago, you can see the amazing distance we have come.  I was there throughout this journey and it is easy today to take for granted the gains the tools we use have given us.  It is interesting to reflect, though, on where we were back then, how far we have come, and where we are going.  Today we think less of the big box computer and more of the device - the small, usable tech we have with us all the time.  We consider sharing the load of computation over a great number of computers rather than on what a single computer can do as we tackle tougher and larger problems.  We are beginning to see that our tendency towards functional programming is somehow hostile to the larger amounts of data we work with, so our focus is shifting towards tools and languages which help us analyze what we learn.  And because the barrier to programming is lowering itself at a fairly steady rate, we are coming to realize that more of us are programmers than we previously thought.

Happy birthday, Mac.  Thank you for being a pioneer and growing with us.  It will be fun to reflect again on your 60th birthday just how far we have come.  By that time you will probably be an implant interfacing directly with my brain.  If so, I am looking to you to help program a reminder for me...