Generic programming

  • David R. Musser
  • Alexander A. Stepanov
Invited Talks

DOI: 10.1007/3-540-51084-2_2

Part of the Lecture Notes in Computer Science book series (LNCS, volume 358)
Cite this paper as:
Musser D.R., Stepanov A.A. (1989) Generic programming. In: Gianni P. (eds) Symbolic and Algebraic Computation. ISSAC 1988. Lecture Notes in Computer Science, vol 358. Springer, Berlin, Heidelberg


Generic programming centers around the idea of abstracting from concrete, efficient algorithms to obtain generic algorithms that can be combined with different data representations to produce a wide variety of useful software. For example, a class of generic sorting algorithms can be defined which work with finite sequences but which can be instantiated in different ways to produce algorithms working on arrays or linked lists.

Four kinds of abstraction—data, algorithmic, structural, and representational—are discussed, with examples of their use in building an Ada library of software components. The main topic discussed is generic algorithms and an approach to their formal specification and verification, with illustration in terms of a partitioning algorithm such as is used in the quicksort algorithm. It is argued that generically programmed software component libraries offer important advantages for achieving software productivity and reliability.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag 1989

Authors and Affiliations

  • David R. Musser
    • 1
  • Alexander A. Stepanov
    • 2
  1. 1.Computer Science DepartmentRensselaer Polytechnic InstituteTroy
  2. 2.Computer Science DepartmentPolytechnic UniversityBrooklyn

Personalised recommendations