Sunday, February 26, 2006
I live in a small town of about 5,000 people on the Sunshine Coast in BC, Canada.  Meeting my neighbors Grandpa was an interesting experience.  Grandpa grew up in the Northern part of the Sunshine Coast and has lived here most of his life.  I got to know him a bit when we were launching fireworks (its big here!) last Halloween with our families.
 
Over 4 months I would have occasion to bump into Grandpa on the ferry as I take a 40 minute ferry ride into Vancouver everyday, as does anyone that needs to make it to Vancouver from the Sunshine Coast.
 
Yesterday, I was sitting at the local Tim Hortons having a coffee and working on my new Acer 8204 laptop (which I purchased specifically for WinFX, Vista development), and I met Grandpa after I had been sitting for an hour, long enough for me to disappear completely into the computer.  He said, Are you actually doing something or trying to look intelligent.  I said I was coding.  He said, What do you do for a living.  "I write software".  He said, that he used to program assembler way back when.  He said, "if just one letter or number is off, it doesnt work!.  I said nothing has changed.
 
First, I was a bit taken back that he could even remember assembler, I cant, and he does not even remotely look the type.  Second, I was surprised by my own comment of nothing has changed since assembler.  Now really, we have come a long way since assembler, see Raising the Level of Abstraction .  But otoh, it is still true today one character or number is off in your source code that you are hand writing and it wont compile.  It is much easier to find the compile error today, I suppose.  And with Intellisense, how can you miss? (ha ha).  The point is, the computer is excellent at repeating precision instructions and we humans are not.  So why not get the computer to do the work of writing precision code based on a higher-level abstraction (i.e. tool) where we don't concern ourselves with hand writing low level code.
 
This makes me wonder about how far programming languages have come over the last twenty five years.  Personally, I am a Smalltalk fan.  The concept of everything is an object and mess