Multi-paradigm programming language |
A multiparadigm programming language is a programming language that supports more than one programming paradigm. It allows, as described by Bjarne Stroustrup, a computer program using more than one computer programming styles . The design goal of such languages is to allow programmers to use the best tool for a job, admitting that no one paradigm solves all problems in the easiest or most efficient way.
The most aggressive example is Oz programming language, 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 more. Oz was designed over a ten-year period to combine in a harmonious way concepts that are traditionally associated with different programming paradigms.
=Multiparadigm languages=
Languages can be grouped by the number and types of paradigms supported.
==Two paradigms==
*Functional programming, Imperative programming **APL programming language *functional, Logic programming **ALF programming language **Curry programming language *functional, Object-oriented programming (Class (computer science)) **Common Lisp **Dylan programming language **Objective Caml *functional, object-oriented (Prototype-based programming) **REBOL *imperative, object-oriented (class-based) **Perl **PHP
==Three paradigms==
==Four paradigms==
*functional, imperative, logic-based, object-oriented (class-based) **Leda programming language
==Five paradigms==
*Concurrent programming language, Distributed programming, generic (template metaprogramming), imperative, object-oriented (class-based) **Ada programming language
==Eight paradigms==
*concurrent, , object-oriented (class-based) **Oz programming language ***Mozart Programming System a multiplatform Oz
=See also=
*Programming paradigm *Categorical list of programming languages
=Books=
=External links=
*[http://c2.com/cgi/wikiMultiParadigmProgrammingLanguage MultiParadigmProgrammingLanguage] on the [http://c2.com/cgi/wikiFrontPage C2 wiki] *[http://dmoz.org/Computers/Programming/Languages/Multiparadigm/ Open Directory: Programming: Languages: Multiparadigm]|
|