Welcome to twinme.com on July 6 2009.
This is an internet experiment running to monitor browsing habbits of individuals through wikipedia contents.

Multi-paradigm programming language

From Wikipedia, the free encyclopedia

  (Redirected from Multi-paradigm)
Jump to: navigation, search

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

Dataflow 
forced recalculation of formulas when data values change (e.g. Spreadsheets)
Visual programming language 
manipulating program elements graphically rather than by specifying them textually (e.g. Simulink)
Declarative programming 
describes actions (e.g. HTML describes a page but not how to actually display it)
Imperative programming 
explicit statements that change a program state
Functional programming 
uses evaluation of mathematical functions and avoids state and mutable data
Object-Oriented programming 
uses classes and instances, inheritance, encapsulation and polymorphism
Prototype-based programming 
object-oriented programming that avoids classes and implements inheritance via the cloning of instances
Parallel computing 
simultaneous execution with the necessary communication and synchronization between processes/threads
Actor model 
concurrent computation with "actors" that makes local decisions in response to the environment (capable of selfish or competitive behavior)
Pipeline programming 
no nested function calls, but a simple flow structures with easy to visualize/understand data flow through the program
Constraint programming 
relations between variables are expressed as constraints (or constraint networks), directing allowable solutions (uses constraint satisfaction or simplex algorithm)
Rule-based programming 
a network of rules of thumb that comprise a knowledge base and can be used for expert systems and problem deduction & resolution
Logic programming 
uses logical facts to create a model that can prove consistency, deduce further truths or answer questions about the model (e.g. Dogs are animals! Dogs are red! Are some animals red?)
Reflective programming 
special case of metaprogramming (modification of programs as data by another program or ability to do part of the work in runtime instead of compile time) in which the program modifies or extends itself

[edit] Two paradigms

[edit] Three paradigms

[edit] Four paradigms

[edit] Five paradigms

[edit] Eight paradigms

[edit] See also

[edit] References

  • 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

Visit joltnews for the latest headlines
Visit bloit.com for company information
Geed Media does computer consulting on long island.
This page viewed times. See Logs