*
Share This
Programming Language Paradigm table
table started by
robert for the Computers Commons
There is no user-contributed description yet.
x
Add another type with the property you want to view.
| x name | x image | x Languages | x article |
|---|---|---|---|
| x Array programming | APL |
In computer science, array programming languages (also known as vector or multidimensional languages) generalize operations on scalars to apply transparently to vectors, matrices, and higher dimensional arrays.
Array programming primitives concisely...
|
|
| Nial | |||
| J | |||
| IDL programming language | |||
| A+ | |||
| more ▼ | |||
| x Stack-oriented programming language |
|
Java bytecode |
A stack-oriented programming language is one that relies on a stack machine model for passing parameters. Several programming languages fit this description, notably Forth, RPL and PostScript, and also many Assembly languages (but on a much lower...
|
| Microsoft Intermediate Language | |||
| PostScript | |||
| Forth | |||
| Joy | |||
| more ▼ | |||
| x Object-oriented programming | Perl |
Object-oriented programming (OOP) is a programming paradigm that uses "objects" — data structures consisting of datafields and methods — and their interactions to design applications and computer programs. Programming techniques may include features...
|
|
| C# | |||
| Java | |||
| Objective-C | |||
| C++ | |||
| more ▼ | |||
| x Procedural programming | Lisp |
Procedural programming can sometimes be used as a synonym for imperative programming (specifying the steps the program must take to reach the desired state), but can also refer (as in this article) to a programming paradigm based upon the concept of...
|
|
| Fortran | |||
| Common Lisp | |||
| BBC BASIC | |||
| Perl | |||
| more ▼ | |||
| x Imperative programming | Python |
In computer science, imperative programming is a programming paradigm that describes computation in terms of statements that change a program state. In much the same way that imperative mood in natural languages expresses commands to take action,...
|
|
| JavaScript | |||
| C# | |||
| ALGOL 68 | |||
| ALGOL | |||
| more ▼ | |||
| x Reflective programming | Oberon |
A Reflective programming language or system is one that includes the ability of a program to reference its own program state and instructions as a data structure. It is not necessary for a reflective programming language to modify its own programs...
|
|
| Dylan | |||
| Ruby | |||
| MUMPS | |||
| JavaScript | |||
| x Structured programming | Pascal |
Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. It is most famous for removing or reducing reliance on the GOTO statement.
Historically, several different structuring...
|
|
| Modula-2 | |||
| Fortran | |||
| PL/I | |||
| APL | |||
| more ▼ | |||
| x Modular Programming | Modula-2 |
Modular programming is a programming paradigm that was first presented by Information & Systems Institute, Inc. at the National Symposium on Modular Programming in 1968. Larry Constantine was a principal presenter and modular programming movement...
|
|
| Mesa | |||
| Modula | |||
| x Dynamic programming language | Dylan |
Dynamic programming language is a term used broadly in computer science to describe a class of high-level programming languages that execute at runtime many common behaviors that other languages might perform during compilation, if at all. These...
|
|
| Pike | |||
| Groovy | |||
| Ruby | |||
| Mantra | |||
| more ▼ | |||
| x Functional programming | Scheme |
In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative...
|
|
| ML | |||
| Caml | |||
| Haskell | |||
| Lisp | |||
| more ▼ | |||
| x Logic programming | Prolog |
Logic programming is, in its broadest sense, the use of mathematical logic for computer programming. In this view of logic programming, which can be traced at least as far back as John McCarthy's [1958] advice-taker proposal, logic is used as a...
|
|
| Mercury | |||
| SNOBOL | |||
| Inform | |||
| Oz | |||
| more ▼ | |||
| x Interpreted language | VBScript |
In computer programming an interpreted language is a programming language whose implementation often takes the form of an interpreter. Theoretically, any language may be compiled or interpreted, so this designation is applied purely because of...
|
|
| Haskell | |||
| Lisp | |||
| Python | |||
| Scheme | |||
| more ▼ | |||
| x T-SQL | Microsoft SQL Server | ||
| x Strongly-typed programming language | Java |
In computer science and computer programming, the term strong typing is used to describe those situations where programming languages specify one or more restrictions on how operations involving values having different data types can be intermixed....
|
|
| x Component-oriented programming | C# | ||
| x Write once, run anywhere | Java |
"Write once, run anywhere" (WORA), or sometimes Write once, run everywhere (WORE), is a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. Ideally, this means Java can be developed on any device,...
|
|
| x Virtual machine |
|
Java |
In computer science, a virtual machine (VM) is a software implementation of a machine (computer) that executes programs like a real machine.
A virtual machine was originally defined by Popek and Goldberg as "an efficient, isolated duplicate of a...
|
| x Ajax | JavaScript |
Ajax, sometimes written as AJAX (shorthand for asynchronous JavaScript + XML), is a group of interrelated web development techniques used on the client-side to create interactive web applications or rich Internet applications. With Ajax, web...
|
|
| x Multi-agent system |
|
StarLogo |
A multi-agent system (MAS) is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems which are difficult or impossible for an individual agent or monolithic system to solve. Examples of...
|
| x Example Centric Programming | Subtext | ||
| x Knowledge-based systems | GeneXus |
According to the Free On-line Dictionary of Computing (FOLDOC), a knowledge-based system is a program for extending and/or querying a knowledge base.
The Computer User High-Tech Dictionary defines a knowledge-based system as a computer system that...
|
|
| CycL | |||
| x Design by contract | Eiffel |
Design by Contract (DbC) or Programming by Contract is an approach to designing computer software. It prescribes that software designers should define formal, precise and verifiable interface specifications for software components based upon the...
|
|
| Sing sharp | |||
| Spec sharp | |||
| x Concatenative programming language | Factor |
A concatenative programming language is one in which all terms denote functions and the juxtaposition of terms denotes function composition. The combination of a compositional semantics with a syntax that mirrors such a semantics makes...
|
|
| Joy | |||
| Cat | |||
| Forth | |||
| PostScript | |||
| more ▼ | |||
| x Compiled language | Haskell |
A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place)....
|
|
| x Concurrent computing | Stackless Python |
Concurrent computing is a form of computing in which programs are designed as collections of interacting computational processes that may be executed in parallel. Concurrent programs can be executed sequentially on a single processor by interleaving...
|
|
| Alice ML | |||
| Erlang | |||
| Limbo programming language | |||
| Orc | |||
| more ▼ | |||
| x Declarative programming | Prolog |
In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Many languages applying this style attempt to minimize or eliminate side effects by describing what...
|
|
| GeneXus | |||
| Haskell | |||
| JavaFX Script | |||
| Miranda | |||
| more ▼ | |||
| x Multi-paradigm programming language | Oz |
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...
|
|
| Common Lisp | |||
| Ada | |||
| CLU | |||
| Dylan | |||
| more ▼ | |||
| x Event driven programming language | SuperTalk |
Event driven programming is a style of programming where the flow of the program is determined by user actions (mouse clicks, key presses) or messages from other programs. In contrast, in batch programming the flow is determined by the programmer....
|
|
| x Prototype-based programming | Io |
Prototype-based programming is a style of object-oriented programming in which classes are not present, and behavior reuse (known as inheritance in class-based languages) is performed via a process of cloning existing objects that serve as...
|
|
| JavaScript | |||
| Self | |||
| MOO programming language | |||
| NewtonScript | |||
| more ▼ | |||
| x Generic programming | C++ |
Generic programming is a style of computer programming in which algorithms are written in terms of to-be-specified-later types that are then instantiated when needed for specific types provided as parameters. This approach, pioneered by Ada in 1983,...
|
|
| x Mathematics |
|
APL |
Mathematics is the study of quantity, structure, space, relation, change, and various topics of pattern, form and entity. Mathematicians seek out patterns and other quantitative dimensions, whether dealing with numbers, spaces, natural science,...
|
| x Combinatory logic | APL |
Combinatory logic is a notation introduced by Moses Schönfinkel and Haskell Curry to eliminate the need for variables in mathematical logic. It has more recently been used in computer science as a theoretical model of computation and also as a basis...
|
|
| Haskell | |||
| x Operator | APL |
In mathematics, an operator is a function which operates on (or modifies) another function. Often, an "operator" is a function which acts on functions to produce other functions (the sense in which Oliver Heaviside used the term); or it may be a...
|
|
| x Visual programming language | Pure Data |
A visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial...
|
|
| Prograph | |||
| x Function-level programming | J |
In computer science, function-level programming refers to one of the two contrasting programming paradigms identified by John Backus in his work on programs as mathematical objects, the other being value-level programming.
In his 1977 Turing award...
|
|
| FP | |||
| FL | |||
| x Distributed programming | Alice ML |
Distributed programming is a programming paradigm focusing on design distributed, open, scalable, transparent, fault tolerant systems. This paradigm is a natural result of the use of computers to form networks.
Nearly any programming language that...
|
|
| x Actor model | Erlang |
In computer science, the Actor model is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent digital computation: in response to a message that it receives, an actor can make local decisions,...
|
|
| x Dataflow language | SISAL |
In computer programming, dataflow programming implements dataflow principles and architecture, and models a program, conceptually if not physically, as a directed graph of the data flowing between operations. Dataflow programming languages share...
|
|
| Prograph | |||
| x Lazy evaluation | Haskell |
In computer programming, lazy evaluation is the technique of delaying a computation until the result is required.
The benefits of lazy evaluation include: performance increases due to avoiding unnecessary calculations, avoiding error conditions in...
|
|
| Lazy ML | |||
| Miranda | |||
| x Parallel computing |
|
X10 |
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel"). There...
|
| Fortress programming language | |||
| Chapel programming language | |||
| Occam | |||
| Oz | |||
| more ▼ | |||
| x Database programming | K | ||
| .QL | |||
| SQL | |||
| MUMPS | |||
| Object Query Language | |||
| more ▼ | |||
| x Educational programming language | Logo |
An educational programming language is a programming language that is designed primarily as a learning instrument and not so much as a tool for writing real-world application programs.
Many educational programming languages position themselves...
|
|
| EToys | |||
| Scratch | |||
| AgentSheets | |||
| StarLogo | |||
| x Role-oriented programming |
Role-oriented programming is a form of computer programming aimed at expressing things in terms which are analogous to our conceptual understanding of the world. This should make programs easier to understand and maintain.
The main idea of role...
|
||
| x expression-based | UNICON | ||