33 lines
4.2 KiB
HTML
33 lines
4.2 KiB
HTML
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>software rot</title><link rel="stylesheet" href="../../jargon.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"/><link rel="home" href="../index.html" title="The Jargon File"/><link rel="up" href="../S.html" title="S"/><link rel="previous" href="software-laser.html" title="software laser"/><link rel="next" href="softwarily.html" title="softwarily"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">software rot</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="software-laser.html">Prev</a> </td><th width="60%" align="center">S</th><td width="20%" align="right"> <a accesskey="n" href="softwarily.html">Next</a></td></tr></table><hr/></div><dt><a id="software-rot"/><dt xmlns="" id="software-rot"><b>software rot</b>: <span xmlns="http://www.w3.org/1999/xhtml" class="grammar">n.</span></dt></dt><dd><p> Term used to describe the tendency of software that has not been
|
||
used in a while to <a href="../L/lose.html"><i class="glossterm">lose</i></a>; such failure may be
|
||
semi-humorously ascribed to <a href="../B/bit-rot.html"><i class="glossterm">bit rot</i></a>. More commonly,
|
||
<span class="firstterm">software rot</span> strikes when a program's
|
||
assumptions become out of date. If the design was insufficiently
|
||
<a href="../R/robust.html"><i class="glossterm">robust</i></a>, this may cause it to fail in mysterious
|
||
ways. Syn. <span class="firstterm">code rot</span>. See also
|
||
<a href="../L/link-rot.html"><i class="glossterm">link rot</i></a>.</p><p>For example, owing to endemic shortsightedness in the design of COBOL
|
||
programs, a good number of them succumbed to software rot when their
|
||
2-digit year counters underwent <a href="../W/wrap-around.html"><i class="glossterm">wrap around</i></a> at the
|
||
beginning of the year 2000. Actually, related lossages often afflict
|
||
centenarians who have to deal with computer software designed by
|
||
unimaginative clods. One such incident became the focus of a minor public
|
||
flap in 1990, when a gentleman born in 1889 applied for a driver's license
|
||
renewal in Raleigh, North Carolina. The new system refused to issue the
|
||
card, probably because with 2-digit years the ages 101 and 1 cannot be
|
||
distinguished.</p><p>Historical note: Software rot in an even funnier sense than the
|
||
mythical one was a real problem on early research computers (e.g., the R1;
|
||
see <a href="../G/grind-crank.html"><i class="glossterm">grind crank</i></a>). If a program that depended on a
|
||
peculiar instruction hadn't been run in quite a while, the user might
|
||
discover that the opcodes no longer did the same things they once did.
|
||
(“<span class="quote">Hey, so-and-so needs an instruction to do such-and-such. We can
|
||
<a href="snarf.html"><i class="glossterm">snarf</i></a> this opcode, right? No one uses it.</span>”)
|
||
Another classic example of this sprang from the time an MIT hacker found a
|
||
simple way to double the speed of the unconditional jump instruction on a
|
||
PDP-6, so he patched the hardware. Unfortunately, this broke some fragile
|
||
timing software in a music-playing program, throwing its output out of
|
||
tune. This was fixed by adding a defensive initialization routine to
|
||
compare the speed of a timing loop with the real-time clock; in other
|
||
words, it figured out how fast the PDP-6 was that day, and corrected
|
||
appropriately.</p><p>Compare <a href="../B/bit-rot.html"><i class="glossterm">bit rot</i></a>.</p></dd><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="software-laser.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="../S.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="softwarily.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">software laser </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> softwarily</td></tr></table></div></body></html>
|