Share This
table started by
robert for the Computers Commons
A fundamental style of computer programming.
Add More Topics
Save this view to a base, or just for yourself.
54 Programming Language Paradigm topics matching:
Filter this Collection| 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, PostScript, BibTeX style design language and also many Assembly...
|
| Microsoft Intermediate Language | |||
| PostScript | |||
| Forth | |||
| Joy | |||
| more ▼ | |||
| x Object-oriented programming | Perl |
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include...
|
|
| C# | |||
| Objective-C | |||
| C++ | |||
| Smalltalk | |||
| 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, derived from structured...
|
|
| 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 is a programming paradigm aimed on improving the clarity, quality, and development time of a computer program by making extensive use of subroutines, block structures and for and while loops - in contrast to using simple tests...
|
|
| 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 Alonzo Church [1932], logical inference can be used in programming....
|
|
| Mercury | |||
| SNOBOL | |||
| Inform | |||
| Oz | |||
| more ▼ | |||
| x Interpreted language | VBScript |
Interpreted language is a programming language in which programs are 'indirectly' executed ("interpreted") by an interpreter program. This can be contrasted with a compiled language which is converted into machine code and then 'directly' executed...
|
|
| Haskell | |||
| Lisp | |||
| Python | |||
| Scheme | |||
| more ▼ | |||
| x T-SQL | Microsoft SQL Server | ||
| x Strongly-typed programming language | Haskell |
In computer science and computer programming, a type system is said to feature strong typing when it specifies one or more restrictions on how operations involving values of different data types can be intermixed. The opposite of strong typing is...
|
|
| Java | |||
| Agda theorem prover | |||
| 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 |
A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or (in most cases) both...
|
| x Ajax | JavaScript |
Ajax (also AJAX; pronounced /ˈeɪdʒæks/; an acronym for Asynchronous JavaScript and XML) is a group of interrelated web development techniques used on the client-side to create asynchronous web applications. With Ajax, web applications can send data...
|
|
| 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 that are difficult or impossible for an individual agent or a monolithic system to solve. Intelligence may...
|
| x Example Centric Programming | Subtext | ||
| x Knowledge-based systems | GeneXus |
Knowledge based systems are artificial intelligent tools working in a narrow domain to provide intelligent decisions with justification. Knowledge is acquired and represented using various knowledge representation techniques rules, frames and...
|
|
| CycL | |||
| x Design by contract | Eiffel |
Design by contract (DbC), also known as programming by contract and design-by-contract programming, is an approach for designing software. It prescribes that software designers should define formal, precise and verifiable interface specifications...
|
|
| Sing sharp | |||
| Spec sharp | |||
| x Concatenative programming language | Factor |
A concatenative programming language is a point-free programming language in which all expressions denote functions and the juxtaposition of expressions denotes function composition. The combination of a compositional semantics with a syntax that...
|
|
| 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)....
|
|
| Go | |||
| 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 (processes or threads) can be executed on a single processor by...
|
|
| 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 |
Programming languages can be grouped by the number and types of paradigms supported.
A concise reference for the programming paradigms listed in this article.
|
|
| 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....
|
|
| Game Maker Language | |||
| 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++ |
In a broad definition, 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,...
|
|
| UnrealScript | |||
| Pizza | |||
| Common Lisp | |||
| Fortran | |||
| more ▼ | |||
| x Mathematics |
|
APL |
Mathematics (from Greek μάθημα máthēma "knowledge, study, learning") is the study of quantity, structure, space, and change. Mathematicians seek out patterns and formulate new conjectures. Mathematicians resolve the truth or falsity of conjectures...
|
| Lisp | |||
| Haskell | |||
| Agda theorem prover | |||
| 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 basic mathematics, an operator is a symbol or function representing a mathematical operation.
In terms of vector spaces, an operator is a mapping from one vector space or module to another. Operators are of critical importance to both linear...
|
|
| x Visual programming language |
|
Pure Data |
In computing, 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,...
|
| Prograph | |||
| VisSim | |||
| 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,...
|
|
| SALSA programming language | |||
| x Dataflow language | SISAL |
In computer programming, dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations, thus implementing dataflow principles and architecture. Dataflow programming languages share...
|
|
| Prograph | |||
| x Lazy evaluation | Haskell |
In programming language theory, lazy evaluation or call-by-need is an evaluation strategy which delays the evaluation of an expression until the value of this is actually required (non-strict evaluation) and which also avoids repeated evaluations ...
|
|
| Lazy ML | |||
| Miranda | |||
| Orwell | |||
| 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 programs for real-world work.
Many educational programming languages position themselves inside a...
|
|
| EToys | |||
| Scratch | |||
| AgentSheets | |||
| StarLogo | |||
| more ▼ | |||
| x Role-oriented programming |
Role-oriented programming is a form of computer programming aimed at expressing things in terms which are analogous to human conceptual understanding of the world. This should make programs easier to understand and maintain.
The main idea of role...
|
||
| x expression-based | UNICON | ||
| x Type inference | Haskell |
Type inference refers to the automatic deduction of the type of an expression in a programming language. If some, but not all, type annotations are already present it is referred to as type reconstruction.
It is a feature present in some strongly...
|
|
| Objective Caml | |||
| ML | |||
| F# | |||
| x Markup language |
|
Lasso programming language |
A markup language is a modern system for annotating a text in a way that is syntactically distinguishable from that text. The idea and terminology evolved from the "marking up" of manuscripts, i.e. the revision instructions by editors, traditionally...
|
| Curl programming language | |||
| x Web application framework |
A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web...
|
||
| x cell based | Brainfuck | ||
| Argh! | |||
| x Self-modifying code | Argh! |
In computer science, self-modifying code is code that alters its own instructions while it is executing - usually to reduce the instruction path length and improve performance or simply to reduce otherwise repetitively similar code, thus simplifying...
|
|
| Aura | |||
| x Two-dimensional | Argh! | ||
| x Knowledge Representation Language | DAML-S | ||
| Web Ontology Language | |||
| KRL | |||
| DAML+OIL | |||
| DAML | |||
| more ▼ | |||
| x Frame language | KL-ONE |
A frame language is a metalanguage. It applies the frame concept to the structuring of language properties. Frame languages are usually software languages.
Frame languages are rather focused on the recognition and description of objects and classes,...
|
|
| KRYPTON | |||
| x Dependent type | Agda theorem prover |
In computer science and logic, a dependent type is a type that depends on a value. Dependent types play a central role in intuitionistic type theory and in the design of functional programming languages like ATS, Agda and Epigram.
An example is the...
|
|
| x Encapsulation | Alpoca |
In a programming language encapsulation is used to refer to one of two related but distinct notions, and sometimes to the combination thereof:
Some programming language researchers and academics use the first meaning alone or in combination with the...
|
|