I'm about to leave on a business trip, and I won't return until late Friday night. My destination is in the far north: Vancouver, British Columbia (on the west coast of Canada, for the geography-challenged amongst you). I have no idea whether I'll have Internet access up there, so I'm not sure if I'll be blogging or not. No camera on this trip, as I'm traveling very light...
Tuesday, April 22, 2008
Quote of the Day...
From a 2005 interview:
What's even more interesting to me is that there isn't much correlation (and maybe none at all!) between software systems a competent engineer would consider well-designed and commercial success. This strikes me as one of the biggest differences between software engineering and other kinds of engineering. I can't think of another engineering discipline where the shoddiness that is the norm in software engineering would be acceptable. Can you imagine the outcry if (just to pick one example) buildings fell down with fair regularity because of their poor design? Certainly the company responsible for such engineering would not enjoy commercial success. But with software it's different, much different. People are willing to put up with shoddiness to get the features and functions they want – even if they only work sometimes, or work in obscure or unobvious ways...
If you don't know Alan Kay, he's one of the more interesting characters from the early days of personal computing. I first ran into him as one of the inventors of the notion of object-oriented programming and windows-based GUIs. He's worked at PARC, was an Apple Fellow, a Disney Fellow, and worked at Atari, Applied Minds, and HP. More recently, he's one of the movers behind the One Laptop Per Child (OLPC) project. Last I heard, he's now teaching at UCLA...
“Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.”Oh, how right he is. Much personal experience verifies this.
Alan Kay
What's even more interesting to me is that there isn't much correlation (and maybe none at all!) between software systems a competent engineer would consider well-designed and commercial success. This strikes me as one of the biggest differences between software engineering and other kinds of engineering. I can't think of another engineering discipline where the shoddiness that is the norm in software engineering would be acceptable. Can you imagine the outcry if (just to pick one example) buildings fell down with fair regularity because of their poor design? Certainly the company responsible for such engineering would not enjoy commercial success. But with software it's different, much different. People are willing to put up with shoddiness to get the features and functions they want – even if they only work sometimes, or work in obscure or unobvious ways...
If you don't know Alan Kay, he's one of the more interesting characters from the early days of personal computing. I first ran into him as one of the inventors of the notion of object-oriented programming and windows-based GUIs. He's worked at PARC, was an Apple Fellow, a Disney Fellow, and worked at Atari, Applied Minds, and HP. More recently, he's one of the movers behind the One Laptop Per Child (OLPC) project. Last I heard, he's now teaching at UCLA...