Multiparadigm design A paradigm is a way of designing and programming, e.g.

Multiparadigm design is, as the name suggests, a way to design a system using multiple paradigms. A motivation for multiparadigm design in the construction of reallife software systems is the opportunity to use the most appropriate paradigm for different parts of a large system. Different parts of a large system is likely to have different domains where one paradigm is more suitable than another.

Multiparadigm programming is done with a programming language supporting multiple paradigms. A common example is C++ that supports multiple paradigms: classes, overloaded functions, templates, modules, ordinary procedural programming and macros. The book [1] explores how multiparadigm design can be used with C++. As the author remarks:
Even though Stroustrup designated C++ as a multiparadigm language, there have been no serious attempts to create a design method suited to the richness of C++ features. Bjarne Stroustrup remarks on his website:
Multiparadigm programming is a fancy way of saying "programming using more than one programming style, each to its best effect."

Multiparadigm programming is not restricted to C++. There is a wide range of experimental programming languages combining different paradigms. An effort to combine the object-oriented and the logical programming paradigms is [2].

[1]
James O. Coplien, Multi-Paradigm Design for C++, 1999, Addison Wesley, http://www1.bell-labs.com/topic/books/MultiParadigmC%2b%2b/
[2]
J.H.M. Lee and P.K.C. Pun, Object Logic Integration: a Multiparadigm Design Methodology and a Programming Language, 1997
Back to the Glossary of Generative Programming Terms
Backto the course home page
Contributor: Ole Borup
Last modification: 30/1 2006