Jump to content

Comparison of multi-paradigm programming languages

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by DancingHacker (talk | contribs) at 04:31, 24 August 2007 (dataflow language has been renamed to dataflow programming). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A multiparadigm programming language is a programming language that supports more than one programming paradigm. As Leda designer Tim Budd holds it: The idea of a multiparadigm language is to provide a framework in which programmers can work in a variety of styles, freely intermixing constructs from different paradigms. 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.

An 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 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

Three paradigms

Four paradigms

Five paradigms

Eight paradigms

See also

References

  1. ^ PHP Manual, Chapter 17. Functions
  2. ^ PHP Manual, Chapter 19. Classes and Objects (PHP 5)
  3. ^ Philippsen, Michael (1995). "Imperative Concurrent Object-Oriented Languages".
  4. ^ http://www-128.ibm.com/developerworks/library/l-prog.html
  5. ^ The Little JavaScripter demonstrates fundamental commonality with Scheme, a functional language.
  6. ^ Object Oriented Programming in JavaScript gives an overview of object-oriented programming techniques in JavaScript.
  7. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 9: Tasks and Synchronization
  8. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3 Annex E: Distributed Systems
  9. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 12: Generic Units
  10. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 6: Subprograms
  11. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 3.9 Tagged Types and Type Extensions
  • Multiparadigm Design for C++, by Jim Coplien, 1998.
  • Concepts, Techniques, and Models of Computer Programming, by Peter Van Roy and Seif Haridi, 2004.