TITLE: Software disasters [ This tip is not specific to C++ nuts and bolts, but has some interesting information concerning software development projects. For those who don't know, the new Denver International Airport is over a year past delivery and way over budget. The culprit is the new automated baggage handling system. - adc ] PROBLEM: intros@cscns.com (Introspect Technologies) Back to the original subject of the thread (C++ disasters), what about Denver International Airport's baggage handling system? It's written in C++ and is a year overdue, with significant monetary and political impacts. How much can C++ be blamed? I have no idea. Neither does anyone else outside the contractor. The contractor is blaming the airport authorities who are blaming the contractors. If the contractor said that C++ was the problem, it might be trying to shift blame. If it said that C++ was blameless, it might be trying to cover up. RESPONSE: rmartin@rcmcon.com (Robert Martin), 23 Oct 94 To quote Scientific American, Sept, 94 "Software's Chronic Crisis": To veteran software developers, the Denver debacle is notable only for its visibility. Studies have shown that for every six new large-scale softare systems that are put into operation, two others are canceled. The average software development project overshoots its schedule by half; larger projects generally do worse. And some three quarters of all large systems are "operating failures" that either do not function as intended or are not useful at all. i.e. The Denver debacle is typical. Whatever benefit or harm that C++ may or may [not] have induced did not override the established signal of software failure. Or consider this one: The workstation software for the Air traffic control system was estimated at $400,000,000. The project is five years late, and $1,000,000,000 (that's a billion dollars folks) over budget. Whats more, (again quoting the SciAm article) "The Bug-Infested Program is being scoured by Software Experts At Carnegie-Mellon and the Massachusetts Institute of Technology to determine whether it can be salvaged or must be canceled outright." I submit that looking for "C++ disasters" is fruitless because the signal of "disaster" is so much larger than the contribution to that signal that a language could make. The real problem is *not* a problem of language. It is a problem of programming in general. Computer programming is hard, and we do not yet have control over it. [ ... ]