Multi-paradigm programming language

From Wikipedia, the free encyclopedia

Jump to: navigation, search

A multi-paradigm programming language is a programming language that supports more than one programming paradigm. As Lead 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.

Contents

[edit] Multiparadigm languages

Languages can be grouped by the number and types of paradigms supported.

[edit] Paradigm summaries

A concise reference for the programming paradigms listed in this article.

[edit] Two paradigms

[edit] Three paradigms

[edit] Four paradigms

[edit] Five paradigms

[edit] Eight paradigms

[edit] See also

[edit] References

  1. ^ PHP Manual, Chapter 17. Functions
  2. ^ PHP Manual, Chapter 19. Classes and Objects (PHP 5)
  3. ^ Charming Python: Functional programming in Python, Part 1
  4. ^ The Little JavaScripter demonstrates fundamental commonality with Scheme, a functional language.
  5. ^ Object Oriented Programming in JavaScript gives an overview of object-oriented programming techniques in JavaScript.
  6. ^ Martin Odersky et al, An Overview of the Scala Programming Language, 2nd Edition
  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.
Personal tools