Generic+Programming

toc
 * Home * Programming * Generic Programming**


 * Generic Programming** is a [|programming paradigm] to write efficient, [|reusable] code and [|software libraries], to operate on any data type, required being passed as a parameter, in C++ a [|compile time] [|type parameter]. Generic programming, first implemented in the Ada programming language, was pioneered by [|Alexander Stepanov], [|David Musser] and [|Deepak Kapur], and obtained success in C++ when the [|Standard Template Library] became ANSI/ISO C++ standard . Generic programming invokes a [|metaprogramming] facility within a language, in those languages supporting it. In C++, template paramater are either types or integer constants for the wider range of [|Template-] or metaprogramming. For instance in computer chess programming, it allows to write color dependent routines once, and disband otherwise conditional code at compile-time.

=Selected Publications=
 * [|Deepak Kapur], [|David Musser], [|Alexander Stepanov] (**1981**). //[|Operators and Algebraic Structures]//. [|pdf]
 * [|Deepak Kapur], [|David Musser], [|Alexander Stepanov] (**1981**). //TECTON: A Language for Manipulating Generic Objects//. in [|J. Staunstrup], editor, LNCS, Vol. 134, Springer, [|pdf]
 * [|David Musser] and [|Alexander Stepanov] (**1988**). //Generic Programming//. ISSAC 1988, [|pdf]
 * [|Alexander Stepanov] (**1991**). //Design of Generic Libraries//. Lecture given at SRI, [|pdf]
 * Andrew Koenig (**1994**). //Templates and Generic Algorithms//. [|JOOP 7 No. 3]
 * Andrew Koenig (**1994**). //Generic Iterators//. [|JOOP 7, No. 5]
 * [|Alexander Stepanov] and [|Meng Lee] (**1995**). //[|The Standard Template Library]//. HP Laboratories Technical Report 95-11, [|pdf]
 * [|James C. Dehnert] and [|Alexander Stepanov] (**1998**). //[|Fundamentals of Generic Programming]//. LNCS, [|pdf]
 * [|Matthew H. Austern] (**1999**). //Generic Programming and the STL: Using and Extending the C++ Standard Template Library//. [|Addison-Wesley], ISBN-13: 978-0201309560, [|amazon.com]
 * [|P.J. Plauger], [|Meng Lee], [|David Musser], and [|Alexander Stepanov] (**2000**). //C++ Standard Template Library//. Prentice Hall PTR, [|amazon]
 * [|Andrei Alexandrescu] (**2001**). //[|Modern C++ Design: Generic Programming and Design Patterns Applied]//.
 * [|Stephanie Weirich] (**2010**). //[|Generic Programming With Dependent Types]//. [|Spring School on Generic and Indexed Programming], [|Wadham College, Oxford]

=Forum Posts=
 * [|C++ templates question] by José C. Martínez Galán, CCC, January 18, 2012

=External Links= > [|An Introduction to Generic Programmin] by [|Douglas Gregor]
 * [|Generic programming from Wikipedia]
 * [|Generic from Wikipedia]
 * [|Generic Programming] by [|David Musser]
 * [|Generic Programming]
 * [|Generic function from Wikipedia]
 * [|Metaprogramming from Wikipedia]
 * [|Multiple inheritance from Wikipedia]
 * [|Operator overloading from Wikipedia]
 * [|Polymorphism from Wikipedia]

C++
include page="Cpp Templates to include"

C#

 * [|Generics (C# Programming Guide)], [|MSDN]
 * [|.NET Column: Introducing Generics in the CLR] by Jason Clark

Java

 * [|Generics in Java from Wikipedia]
 * [|Generics in Java]

Delphi

 * [|Dr.Bob Examines - Delphi 2009 Generics]

=References= =What links here?= include page="Generic Programming" component="backlinks" limit="60"
 * Up one Level**