Comparison of multi-paradigm programming languages: Difference between revisions

Content deleted Content added
Multiparadigm languages: Organized list, as alphabetical listing conveys no useful information.
Added another language to list, cleaned up duplication in text above list.
Line 1:
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|program]] using more than one [[computer programming|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.
 
TwoThe examplesmost are [[Ada programming language|Ada]] and [[C Plus Plus|C++]], whose handle both [[object-oriented programming|object-oriented]] and [[generic programming]]. Anotheraggressive example is [[Oz programming language|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 forthmore. 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==
Line 18:
**[[Pliant]]
**[[Python programming language|Python]]
**[[Ruby_programming_language| Ruby]]
*functional, object-oriented, [[Prototype-based programming|prototype-based]]
**[[REBOL]]
*Imperativeimperative, object-oriented, [[Generic programming|generic]] ([[template]] [[metaprogramming]])
**[[Ada programming language|Ada]]
**[[C Plus Plus|C++]]
**[[D programming language|D]]
'''Four paradigms'''
*functional, imperative, [[Logic programming|logic-based]], object-oriented
**[[Leda programming language|Leda]]
*functional, imperative, object-oriented, prototype-based
**[[Lua programming language|Lua]]