Technology

Tag Archives

Archive of posts published in the category: Generic
Apr
28

Generic Programming

Generic Programming is a programming paradigm for developing
efficient, reusable software libraries. Pioneered
by Alexander
Stepanov and David
Musser, Generic Programming obtained its first major success when
the Standard
Template Library became part of
the ANSI/ISO C++
standard. Since then, the Generic Programming paradigm has been
used to develop many generic
libraries.

The Generic Programming process focuses on finding commonality
among similar implementations of the same algorithm, then providing
suitable abstractions so that a single, generic algorithm can cover
many concrete implementations. This process, called lifting, is repeated until the generic algorithm has
reached a suitable level of abstraction, where it provides maximal
reusability while still yielding efficient, concrete
implementations. The abstractions themselves are expressed as
requirements on the parameters to the generic algorithm.

Once many algorithms within a given problem domain have been
lifted, we start to see patterns among the requirements. It is common
for the same set

Read More