Most work on improving software productivity and reliability has focused on language issues or on program development tools or environments. While these are important issues, the real key to software productivity, and to the reliability and maintainability of the product, may well be the construction and widespread use of libraries of highly reusable software components. The importance of reusable software components is rapidly gaining recognition, and libraries of considerable magnitude have been developed in the Ada language. Unfortunately, in most libraries little advantage has been taken of the facilities of Ada for generic programming. Thus, as in previous libraries developed in older languages such as Fortran or Jovial, there is little flexibility and much unnecessary duplication of code and documentation, causing difficulties in learning to use the library and in maintaining and extending it.
KeywordsGeneric Algorithm Data Abstraction Common LISP Concrete Algorithm Structural Abstraction
Unable to display preview. Download preview PDF.
- G. Booch, Software Components in Ada. Benjamin/Cummings, 1987.Google Scholar
- O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare, Structured Programming, Academic Press, 1972.Google Scholar
- J. Goguen, “Parameterized Programming,” Transactions on Software Engineering, SE-10(5): 528–543, September 1984.Google Scholar
- A. Kershenbaum, D. R. Musser and A. A. Stepanov, “Higher Order Imperative Programming,” Computer Science Dept. Rep. No. 88–10, Rensselaer Polytechnic Institute, Troy, New York, April 1988.Google Scholar
- Donald E. Knuth, The Art of Computer Programming, Vols. 1–3, Addison-Wesley, 1968, 1969, 1973.Google Scholar
- D. R. Musser and A. A. Stepanov, “A Library of Generic Algorithms in Ada,” Proc. of 1987 ACM SIGAda International Conference,Boston, December, 1987.Google Scholar
- D.R. Musser and A.A. Stepanov, “Generic Programming,” invited paper, to appear in Proc. 1988 International Symposium on Symbolic and Algebraic Computation, Lecture Notes in Computer Science, Springer-Verlag, July, 1988.Google Scholar
- R. Sedgewick, Algorithms, Addison-Wesley, 1983.Google Scholar
- G. L. Steele, Common LISP: The Language, Digital Press, 1984.Google Scholar
- N. Wirth, Algorithms + Data Structures = Programs, Prentice-Hall, 1976.Google Scholar