ACM president's letter: throwaway programs

Razors. Ball point pens. Diapers. Towels. Paper plates. Plastic forks. TV dinner trays. Fast food boxes. Pop bottles. Our world is full of disposable personal objects, transient things soon discarded. Ten years ago began the debates about s t ructured programming, which sought more correct, more understandable software through restricted program forms. These debates helped bring forth programming languages with strict syntactic structure--e.g., Pascal, Fortran 77, and lately Ada. They stimulated new texts on programming and new sets of rules for students in programming courses. But our students go on to be professional programmers whose software is unreliable and unportable; who often construct new programs from scratch rather than from existing programs; who keep such poor records that they cannot later reuse their programs. We continue to rely heavily on a small set of highly gifted software architects to keep our computer systems running. Why is this? Why is so much software of poor quality? Not distributable? Why so little progress toward transportable software parts despite so much attention to program structure and project management? The