Multiparadigm design A paradigm is a way of designing and programming, e.g.
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].