Jed Rothwell wrote:

Michael Foster wrote:

Just another Chicken Little running around in
metaphorical circles shouting, "The sky is
falling! The sky is falling!"


I agree, but this is worse, because we really do face a crisis. We may not face rack and ruin but the price of natural gas will go up 60% this winter, and in Atlanta tens of thousands of people will not be able to pay their bills.

A Chicken Little who goes around yelling about problems that do not exist causes no harm, but one who exaggerates real problems or denies that there are practical solutions misguides society, and causes people unnecessary angst. At worst they may trigger what FDR called "nameless, unreasoning, unjustified terror which paralyzes needed efforts to convert retreat into advance."

Take the Y2K problem. As I said before, it was quite real. It was a financial disaster. Society was forced to spend billions of dollars in emergency repairs that should have been taken care of cheaply during routing maintenance 20 years earlier.

I disagree. When you talk about "routine maintenance" in this context I think you are imagining a world that did not exist.

The Y2K problems were entirely, or almost entirely, software problems.

"20 years earlier" than year 2000 was year 1980. Remember what things were like? A typical personal computer was still an Apple ][ -- the Lisa (remember the Lisa?) cost about $10,000 IIRC and almost nobody had even seen one. The Xerox Star was still a new concept. LISP machines made people gasp when they saw what sorts of things they could do, and WYSIWYG was a great idea but it required a very fancy screen to do well. Most programmers were fresh out of college, and a lot of colleges didn't even offer a software degree yet: you got a math degree or a double-E degree instead.

Now, what "routine maintenance" was going on in the software world? Darn little, because almost nothing was "routine" in those days. The only established software base with anything like a "routine" associated with it was the IBM mainframe world, where the universe still ran on COBOL and PL/1. Everything else was barely more than nascent, and what's more things were changing so fast that almost nobody believed any software they wrote was still going to be in use in 5 years, let alone 20 years! You plan for things you think may actually happen; the idea that a piece of code written that year was still going to be in use in the year 2000 seemed like an obvious absurdity.

Consider what actually happened to a lot of code and systems from that ear. LISP machines are long gone, the LISA was a dead end (it did _not_ turn into a Macintosh), and that PL/1 code has vanished into the bit-bucket. Everything on WANG and Interleaf systems turned out to be not-a-problem in Y2K because the companies had disappeared along with their Y2K bugs. The BLISS, Macro-10, and RATFOR code that people were writing did what everyone expected it to do and vanished during the intervening years. But miraculously some of the COBOL code lived on and haunted our lives in 2000 ... which was a completely unexpected outcome.

Most of our software today seems to be written in C. Remember C in 1980? 6 character variable names on globals (that's right, just six), all structure component names came from a COMMON POOL (yes, they did!), no type-checking on subroutine calls or much of anything else, and BLISS seemed like reasonable competition for the language. The language was so feeble that getting a large C program to work _at_ _all_ was a major challenge in those days; worrying about how well it would work 20 years later was totally outside the picture.

Asserting that "routine maintenance" of software in 1980 should have included fixing Y2K problems is a little absurd, I think.

1990 is a different story -- things had changed and settled down a lot, and in fact some firms were already working on the Y2K issues, because people were also starting to realize that some programs did have useful lives of more than ten years.




Reply via email to