Chips and Code and Files, Oh My! or Time and Responsibility

greenspun.com : LUSENET : TimeBomb 2000 (Y2000) : One Thread

[snips] from The Clock of the Long Now written by Stewart Brand.

:83 a paragraph lifted ...
Fixing digital discontinuity sounds like exactly the kind of problem that fast-moving computer technology should be able to solve; but it can't, because fast-moving computer technology is the problem. By constantly accelerating its own capabilities (making faster, cheaper, sharper tools that make ever faster, cheaper, sharper tools) the technology is just as constantly self-obsolescing. The great creator is the great eraser.
:85 a block of paragraphs lifted ...
Beyond the evanescence of data formats and digital storage media is a still deeper problem. Large-scale computer systems are at the core of driving corporations, public institutions, and indeed whole sectors of the economy: financial markets, utilities, telecommunications, travel and distribution, health care, and government. Over time these gargantuan systems become dauntingly complex and unknowable as new features are added, old bugs are worked around with layers of "patches", generations of programmers add new programming tools and styles, and portions of the system are repurposed to take on novel funstions. With a mixture of respect and loathing, computer professionals call these monsters legacy systems.

Typically, outdated legacy systems make themselves so essential over the years that no one can contemplate the prolonged trauma of replacing them, and they cannot be fixed completely because the problems are too complexly embedded and there is no one left who understands the whole system. Teasing a new function out of a legacy system is not done by command but by conducting a series of cautious experiments that with luck might converge toward the desired outcome.

Here's the ral fear. Thanks to proliferating optical-fiber land lines worldwide and the arrival of low-Earth-orbit data satellite systems such as Teledesic, we are in the process of building one vast global computer. ("The network is the computer," proclaims Sun Microsystems.) This world computer could easily become the Legacy System from Hell that hold scivilization hostage: The system doesn't really work, it can't be fixed, no one understands it, no one is in charge of it, it can't be lived without, and it gets worse every year.

So far computers are very bad at dealing with time. Society may wind up grateful for the chaos and confusion caused by the Year 2000 problem, when countless computer systems still laced with chips, code, and files that use two-digit year dates choke on the year date "00". All the right warnings are given by the event. We are forced to realize that software thus far is brittle, and that a software-obligate civilization inherits that brittleness; it can crash. Programmers and their managers still don't realize that the code they write and conventions they adopt are more likely to be embedded than replaced; today's bleeding-edge technology is tomorrow's broken legacy system. Commercial software is almost always written in great haste, at ever-accelerating market velocity; it can foresee an "upgrade path" to next year's version, but decades our outside its scope. And societies live by decades, civilization by centuries.

So far, the mismatch between computers and civilization is growing.
[/snips]

Interested in Time and Responsibility?

Critt

-- Critt Jarvis (middleground@critt.com), July 18, 1999

Answers

Critt:

I REALLY want to take some time to read the entire text that you've provided from Mr. Brand's work, but right now (as a legacy programmer), I'd say he's all wet.

"Typically, outdated legacy systems make themselves so essential over the years that no one can contemplate the prolonged trauma of replacing them, and they cannot be fixed completely because the problems are too complexly embedded and there is no one left who understands the whole system. Teasing a new function out of a legacy system is not done by command but by conducting a series of cautious experiments that with luck might converge toward the desired outcome."

The above paragraph is one of which I take particular exception.

Back to this later.

-- Anita (spoonera@msn.com), July 18, 1999.


"Typically, outdated legacy systems make themselves so essential over the years that no one can contemplate the prolonged trauma of replacing them, and they cannot be fixed completely because the problems are too complexly embedded and there is no one left who understands the whole system. Teasing a new function out of a legacy system is not done by command but by conducting a series of cautious experiments that with luck might converge toward the desired outcome."

Anita notwithstanding, this is correct. Always and universally applicable? No. But correct by and large? Yes.

-- Lane Core Jr. (elcore@sgi.net), July 18, 1999.


A computer running bad code can corrupt a database in less time than the blink of an eye. It takes a human programmer a much, much, much, much longer time to figure out what happened, correct the code, test it (and you can't test everything), cross his fingers, have data restored from backups, have the data re-entered from the time of the crash/corruption, etc.

-- vbProg (vbProg@MicrosoftAndIntelSuck.com), July 18, 1999.

Moderation questions? read the FAQ