Stephen A. Lawrence wrote:
Emacs, Linux, Mac OS, Solaris, OpenOffice, MS Word -- would you claim that any of these have simply been left to sit on a shelf, and that's why they haven't become so buggy they can't be used?
I meant just the opposite. They have been maintained, which is why MS Word (for example) is so buggy it can barely be used for some operations, such as multiple-chapter books with include files and endnotes for each chapter. Believe me, I wasted weeks trying to do this. In 1990 I managed it easily with Word Perfect. It has never worked with MS Word, and with each revision it gets worse. Some things can't be fixed. They need to rewrite this from scratch.
> Brooks, by the way, refers to the book Frederick P. Brooks, "The > Mythical Man Month," (Addison-Wesley, 1975). Yeah, we've learned some things about software design since 1975.
Alas, many programmers have not. Quoting J. Klatt, Byte Magazine, letter to the editor, July 1998: "as much as I enjoy my PCs, I often have the impression that they and their operating systems were designed by young people who somehow missed out on the entire history of computing technology. . . ."
Quoting S. Manes, "Windows 98: $90 Worth Of Duct Tape," New York Times, June 25, 1998: Windows is "an edifice built of bailing wire, chewing gum and prayer." That's what Brooks meant by patched-up software.
In 1975, how old was an "old" software package? A few years? Ten years, at the outside? Things have changed.
They haven't changed enough for me, by golly. A few years before she died Grace Hopper gave a lecture about data typing that she had back in the 1950, which would have fixed myriad problems, and have still not been implemented! The hotshots at Google are now rediscovering them.
Nowadays there are products on the shelf based on code which dates back 20 or 30 years. I have named a bunch of them, all of which have undergone extensive maintenance over the years . . .
"Extensive maintenance" means rewriting the code from scratch. That's what Brooks meant.
. . . and none of which have shown a user-visible "bug explosion" effect as a result of "too much maintenance".
They would be dead by now if people had not cleaned up the fundamental code.
1975 was nearly two decades before ANSI C.
On the other hand, we had Pascal back then which is still better than ANSI C, C++, or C++++++ ever will be, but I digress.
But as I said, things have changed.
Plus ça change, plus cest la même chose. - Jed

