A multi-paradigm programming language allows, as described by Stroustrup, "[a program] using more than one programming style". An example is C++ which handles both object-oriented and generic programming. Another example is Oz, which has subsets that are a logic language (Oz descends from logic programming), a functional language, an object-oriented language, a dataflow concurrent language, and so forth. Oz was designed over a ten-year period to combine in a harmonious way concepts that are traditionally associated with different programming paradigms.
Further reading
- Multiparadigm Design for C++ by Jim Coplien (1998)
- Concepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif Haridi (2004)