Loading AI tools
From Wikipedia, the free encyclopedia
Programming languages can be grouped by the number and types of paradigms supported.
This article possibly contains original research. (August 2009) |
A concise reference for the programming paradigms listed in this article.
Language | Paradigm count |
Concurrent |
Constraints |
Dataflow |
Declarative |
Distributed |
Functional |
Metaprogramming |
Generic |
Imperative |
Logic |
Reflection |
Object-oriented |
Pipelines |
Visual |
Rule-based |
Other |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ada | 5 | Yes | — | — | — | Yes | — | — | Yes | Yes | — | — | Yes | — | — | — | — |
ALF | 2 | — | — | — | — | — | Yes | — | — | — | Yes | — | — | — | — | — | — |
AmigaE [citation needed] | 2 | — | — | — | — | — | — | — | — | Yes | — | — | Yes | — | — | — | — |
APL | 3 | — | — | — | — | — | Yes | — | — | Yes | — | — | — | — | — | — | Array (multi-dimensional) |
BETA [citation needed] | 3 | — | — | — | — | — | Yes | — | — | Yes | — | — | Yes | — | — | — | — |
C++ | 7 (15) | Yes | Library | Library | Library | Library | Yes | Yes | Yes | Yes | Library | Library | Yes | Yes | — | Library | Array (multi-dimensional; using STL) |
C# | 6 (7) | Yes | — | Library | — | — | Yes | — | Yes | Yes | — | Yes | Yes | — | — | — | Reactive |
ChucK [citation needed] | 3 | Yes | — | — | — | — | — | — | — | Yes | — | — | Yes | — | — | — | — |
Claire | 2 | — | — | — | — | — | Yes | — | — | — | — | — | Yes | — | — | — | — |
Clojure | 5 | Yes | — | — | Yes | — | Yes | Yes | — | — | Library | — | — | Yes | Editor | — | Multiple dispatch, |
Common Lisp | 7 (14) | Library | Library | Library | Yes | Library | Yes | Yes | Yes | Yes | Library | Yes | Yes | Library | Library | Library | Multiple dispatch, meta-OOP system, |
Curl | 5 | — | — | — | — | — | Yes | — | Yes | Yes | — | Yes | Yes | — | — | — | — |
Curry | 4 | Yes | Yes | — | — | — | Yes | — | — | — | Yes | — | — | — | — | — | — |
D (version 2.0) | 7 | Yes | — | — | — | — | Yes | Yes | Yes | Yes | — | Yes | Yes | — | — | — | — |
Delphi | 3 | — | — | — | — | — | — | — | Yes | Yes | — | — | Yes | — | — | — | — |
Dylan [citation needed] | 3 | — | — | — | — | — | Yes | — | — | — | — | Yes | Yes | — | — | — | — |
E | 3 | Yes | — | — | — | Yes | — | — | — | — | — | — | Yes | — | — | — | — |
ECMAScript | 4 (5) | Partial | — | — | Library | — | Yes | — | — | Yes | — | Yes | Yes | Library | Editor | — | Reactive, |
Erlang | 3 | Yes | — | — | Yes | Yes | Yes | — | — | — | — | — | — | Yes | — | — | — |
Elixir | 4 | Yes | — | — | — | Yes | Yes | Yes | — | — | — | — | — | Yes | — | — | — |
Elm | 6 | Yes | — | Yes | Yes | — | Yes (pure) | — | Yes | — | — | — | — | Yes | — | — | Reactive |
F# | 7 (8) | Yes | — | Library | Yes | — | Yes | — | Yes | Yes | — | Yes | Yes | — | — | — | Reactive |
Fortran | 4 (5) | Yes | — | — | — | — | Yes | — | Yes | — | — | — | Yes | — | — | — | Array (multi-dimensional) |
Go | 4 | Yes | — | — | — | — | — | — | — | Yes | — | Yes | — | Yes | — | — | — |
Haskell | 8 (15) | Yes | Library | Library | Yes | Library | Yes (lazy) (pure) | Yes | Yes | Yes | Library | — | Partial | Yes | Yes | Library | Literate, reactive, dependent types (partial) |
Io | 4 | Yes | — | — | — | — | Yes | — | — | Yes | — | — | Yes | — | — | — | — |
J [citation needed] | 3 | — | — | — | — | — | Yes | — | — | Yes | — | — | Yes | — | — | — | — |
Java | 6 | Yes | Library | Library | — | — | Yes | — | Yes | Yes | — | Yes | Yes | — | — | — | — |
Julia | 9 (17) | Yes | Library | Library | Library | Yes | Yes (eager) | Yes | Yes | Yes | Library | Yes | Yes | Yes | — | Library | Multiple dispatch, Array (multi-dimensional); optionally lazy |
Kotlin | 8 | Yes | — | — | — | — | Yes | Yes | Yes | Yes | — | Yes | Yes | Yes | — | — | — |
LabVIEW | 4 | Yes | — | Yes | — | — | — | — | — | — | — | — | Yes | — | Yes | — | — |
Lava | 2 | — | — | — | — | — | — | — | — | — | — | — | Yes | — | Yes | — | — |
LispWorks (version 6.0 with support for symmetric multi-processing, rules, logic (Prolog), CORBA) | 9 | Yes | — | — | — | Yes | Yes | Yes | — | Yes | Yes | Yes | Yes | — | — | Yes | — |
Lua [citation needed] | 3 | — | — | — | — | — | Yes | — | — | Yes | — | — | Yes | — | — | — | — |
MATLAB | 6 (10) | Toolbox | Toolbox | Yes | — | Toolbox | — | Yes | Yes | — | — | Yes | Yes | — | Yes | — | Array (multi-dimensional) |
Nemerle | 7 | Yes | — | — | — | — | Yes | Yes | Yes | Yes | — | Yes | Yes | — | — | — | — |
Object Pascal | 4 | Yes | — | — | — | — | Yes | — | — | Yes | — | — | Yes | — | — | — | — |
OCaml | 4 | — | — | — | — | — | Yes | — | Yes | Yes | — | — | Yes | — | — | — | — |
Oz | 11 | Yes | Yes | Yes | Yes | Yes | Yes | — | — | Yes | Yes | — | Yes | Yes | — | Yes | — |
Perl [citation needed] | 8 (9) | Yes | — | Yes | — | — | Yes | Yes | — | Yes | — | Yes | Yes | Yes | — | — | — |
PHP | 4 | — | — | — | — | — | Yes | — | — | Yes | — | Yes | Yes | — | — | — | — |
Poplog | 3 | — | — | — | — | — | Yes | — | — | Yes | Yes | — | — | — | — | — | — |
Prograph | 3 | — | — | Yes | — | — | — | — | — | — | — | — | Yes | — | Yes | — | — |
Python | 5 (10) | Library |
Library |
— | — | Library |
Yes | Yes |
Yes | Yes | Library | Yes | Yes |
— | Editor | — | Structured |
R | 4 (6) | Library | — | — | — | Library | Yes | — | — | Yes | — | Yes | Yes | Yes | — | — | Array (multi-dimensional) |
Racket | 10 | Yes | Yes | Yes | — | Yes | Yes | Yes | — | Yes | Yes | Yes | Yes | — | — | — | Lazy |
Raku | 10 | Yes | Library | Yes | — | Library | Yes | Yes | Yes | Yes | — | Yes | Yes | Yes | — | — | Multiple dispatch, lazy lists, reactive. |
ROOP | 3 | — | — | — | — | — | — | — | — | Yes | Yes | — | — | — | — | Yes | — |
Ruby | 5 | — | — | — | — | — | Yes | Yes | — | Yes | — | Yes | Yes | — | — | — | — |
Rust (version 1.0.0-alpha) | 6 | Yes | — | — | — | — | Yes | Yes | Yes | Yes | — | — | Yes | — | — | — | Linear, affline, and ownership types |
Sather [citation needed] | 2 | — | — | — | — | — | Yes | — | — | — | — | — | Yes | — | — | — | — |
Scala | 9 | Yes | — | Yes | Yes | — | Yes | Yes | Yes | Yes | — | Yes | Yes | — | — | — | — |
Simula [citation needed] | 2 | — | — | — | — | — | — | — | — | Yes | — | — | Yes | — | — | — | — |
SISAL | 3 | Yes | — | Yes | — | — | Yes | — | — | — | — | — | — | — | — | — | — |
Spreadsheets | 2 | — | — | — | — | — | Yes | — | — | — | — | — | — | — | Yes | — | — |
Swift | 7 | Yes | — | — | — | — | Yes | Yes | Yes | Yes | — | Yes | Yes | — | — | — | Block-structured |
Tcl with Snit extension [citation needed] | 3 | — | — | — | — | — | Yes | — | — | Yes | — | — | Yes | — | — | — | — |
Visual Basic .NET | 6 (7) | Yes | — | Library | — | — | Yes | — | Yes | Yes | — | Yes | Yes | — | — | — | Reactive |
Windows PowerShell | 6 | — | — | — | — | — | Yes | — | Yes | Yes | — | Yes | Yes | Yes | — | — | — |
Wolfram Language & Mathematica | 13 |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | — | Yes | Knowledge Based |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.