From HandWiki - Reading time: 16 min
This article possibly contains original research. (August 2009) (Learn how and when to remove this template message) |
Programming languages can be grouped by the number and types of paradigms supported.
A concise reference for the programming paradigms listed in this article.
| Language | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Other |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ada |
5 | Yes |
N/A | N/A | N/A | Yes | N/A | N/A | Yes | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A |
| ALF | 2 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A |
| AmigaE |
data-sort-value="" style="background: #ececec; color: #2C2C2C; vertical-align: middle; font-size: smaller; text-align: center; " class="table-na" | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A | |
| APL | 3 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A | Array (multi-dimensional) |
| BETA |
data-sort-value="" style="background: #ececec; color: #2C2C2C; vertical-align: middle; font-size: smaller; text-align: center; " class="table-na" | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A | |
| C++ | 7 (15) | Yes |
Library |
Library |
Library |
Library |
Yes | Yes |
Yes |
Yes | Library |
Library |
Yes |
Library |
N/A | Library |
Array (multi-dimensional; using STL) |
| C# | 6 (7) | Yes | N/A | Library |
N/A | N/A | Yes |
N/A | Yes | Yes | N/A | Yes | Yes |
N/A | N/A | N/A | Reactive |
| ChucK |
style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A | |
| Claire | 2 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | N/A | N/A | N/A | Yes |
N/A | N/A | N/A | N/A |
| Clojure | 5 | Yes |
N/A | N/A | Yes | N/A | Yes |
Yes |
N/A | N/A | Library |
N/A | N/A | Yes |
N/A | N/A | 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 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | Yes |
Yes | N/A | Yes | Yes |
N/A | N/A | N/A | N/A |
| Curry | 4 | Yes | Yes | N/A | N/A | N/A | Yes | N/A | N/A | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A |
| D (version 2.0) |
7 | Yes |
N/A | N/A | N/A | N/A | Yes | Yes |
Yes |
Yes | N/A | Yes | Yes |
N/A | N/A | N/A | N/A |
| Delphi | 3 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes |
Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A |
| Dylan |
data-sort-value="" style="background: #ececec; color: #2C2C2C; vertical-align: middle; font-size: smaller; text-align: center; " class="table-na" | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | N/A | N/A | Yes | Yes |
N/A | N/A | N/A | N/A | |
| E | 3 | Yes | N/A | N/A | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A | Yes |
N/A | N/A | N/A | N/A |
| ECMAScript |
4 (5) | Partial |
N/A | N/A | Library |
N/A | Yes | N/A | N/A | Yes | N/A | Yes | Yes |
Library |
N/A | N/A | Reactive, |
| Erlang | 3 | Yes | N/A | N/A | Yes | Yes | Yes | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | N/A |
| Elixir | 4 | Yes | N/A | N/A | N/A | Yes | Yes | Yes | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | N/A |
| Elm | 6 | Yes | N/A | Yes | Yes | N/A | Yes (pure) |
N/A | Yes | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Reactive |
| F# | 7 (8) | Yes |
N/A | Library |
Yes | N/A | Yes | N/A | Yes | Yes | N/A | Yes | Yes |
N/A | N/A | N/A | Reactive |
| Fortran | 4 (5) | Yes | N/A | N/A | N/A | N/A | Yes |
N/A | Yes |
N/A | N/A | N/A | Yes |
N/A | N/A | N/A | Array (multi-dimensional) |
| Go | 4 | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | Yes | N/A | Yes | N/A | N/A | N/A |
| Haskell | 8 (15) | Yes | Library |
Library |
Yes | Library |
Yes (lazy) (pure) |
Yes |
Yes | Yes | Library |
N/A | Partial |
Yes | Yes | Library |
Literate, reactive, dependent types (partial) |
| Io | 4 | Yes |
N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A |
| J |
data-sort-value="" style="background: #ececec; color: #2C2C2C; vertical-align: middle; font-size: smaller; text-align: center; " class="table-na" | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A | |
| Java | 6 | Yes | Library |
Library |
N/A | N/A | Yes | N/A | Yes | Yes | N/A | Yes | Yes |
N/A | N/A | N/A | N/A |
| Julia | 9 (17) | Yes | Library |
Library |
Library |
Yes | Yes (eager) | Yes | Yes | Yes | Library |
Yes | Partial |
Yes | N/A | Library |
Multiple dispatch, Array (multi-dimensional); optionally lazy |
| Kotlin | 8 | Yes | N/A | N/A | N/A | N/A | Yes | Yes | Yes | Yes | N/A | Yes | Yes | Yes | N/A | N/A | N/A |
| LabVIEW | 4 | Yes | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | Yes | N/A | N/A |
| Lava | 2 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes |
N/A | Yes | N/A | N/A |
| LispWorks (version 6.0 with support for symmetric multi-processing, rules, logic (Prolog), CORBA) | 9 | Yes | N/A | N/A | N/A | Yes | Yes | Yes | N/A | Yes | Yes | Yes | Yes |
N/A | N/A | Yes | N/A |
| Lua |
3 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A |
| MATLAB | 6 (10) | Toolbox |
Toolbox |
Yes |
N/A | Toolbox |
N/A | Yes |
Yes |
N/A | N/A | Yes |
Yes |
N/A | Yes |
N/A | Array (multi-dimensional) |
| Nemerle | 7 | Yes | N/A | N/A | N/A | N/A | Yes | Yes | Yes | Yes | N/A | Yes | Yes |
N/A | N/A | N/A | N/A |
| Object Pascal | 4 | Yes | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A |
| OCaml | 4 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | Yes | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A |
| Oz | 11 | Yes | Yes | Yes | Yes | Yes | Yes | N/A | N/A | Yes | Yes | N/A | Yes |
Yes | N/A | Yes | N/A |
| Perl |
style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|Yes |
N/A | Yes |
N/A | N/A | Yes | Yes | N/A | Yes | N/A | Yes |
Yes |
Yes | N/A | N/A | N/A | |
| PHP |
4 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes | N/A | Yes | Yes |
N/A | N/A | N/A | N/A |
| Poplog | 3 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes | Yes | N/A | N/A | N/A | N/A | N/A | N/A |
| Prograph | 3 | N/A | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes |
N/A | Yes | N/A | N/A |
| Python | 5 (10) | Library |
Library |
N/A | N/A | Library |
Yes | Yes |
Yes |
Yes | Library |
Yes | Yes |
N/A | N/A | N/A | Structured |
| R | 4 (6) | Library |
N/A | N/A | N/A | Library |
Yes | N/A | N/A | Yes | N/A | Yes | Yes | Yes |
N/A | N/A | Array (multi-dimensional) |
| Racket | 10 | Yes |
Yes |
Yes |
N/A | Yes |
Yes | Yes | N/A | Yes | Yes | Yes | Yes | N/A | N/A | N/A | Lazy |
| Raku | 10 | Yes |
Library |
Yes |
N/A | Library |
Yes | Yes |
Yes |
Yes | N/A | Yes |
Yes |
Yes | N/A | N/A | Multiple dispatch, lazy lists, reactive. |
| ROOP | 3 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | Yes | N/A | N/A | N/A | N/A | Yes | N/A |
| Ruby | 5 | N/A | N/A | N/A | N/A | N/A | Yes | Yes | N/A | Yes | N/A | Yes | Yes |
N/A | N/A | N/A | N/A |
| Rust (version 1.0.0-alpha) | 6 | Yes |
N/A | N/A | N/A | N/A | Yes | Yes |
Yes |
Yes | N/A | N/A | Yes | N/A | N/A | N/A | Linear, affline, and ownership types |
| Sather |
data-sort-value="" style="background: #ececec; color: #2C2C2C; vertical-align: middle; font-size: smaller; text-align: center; " class="table-na" | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | N/A | N/A | N/A | Yes |
N/A | N/A | N/A | N/A | |
| Scala |
9 | Yes |
N/A | Yes |
Yes | N/A | Yes | Yes | Yes | Yes | N/A | Yes | Yes |
N/A | N/A | N/A | N/A |
| Simula |
data-sort-value="" style="background: #ececec; color: #2C2C2C; vertical-align: middle; font-size: smaller; text-align: center; " class="table-na" | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A | |
| SISAL | 3 | Yes | N/A | Yes | N/A | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| Spreadsheets | 2 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A |
| Swift | 7 | Yes | N/A | N/A | N/A | N/A | Yes | Yes | Yes | Yes | N/A | Yes | Yes |
N/A | N/A | N/A | Block-structured |
| Tcl with Snit extension |
data-sort-value="" style="background: #ececec; color: #2C2C2C; vertical-align: middle; font-size: smaller; text-align: center; " class="table-na" | N/A | N/A | N/A | N/A | N/A | Yes |
N/A | N/A | Yes | N/A | N/A | Yes |
N/A | N/A | N/A | N/A | |
| Visual Basic .NET | 6 (7) | Yes | N/A | Library |
N/A | N/A | Yes | N/A | Yes | Yes | N/A | Yes | Yes |
N/A | N/A | N/A | Reactive |
| Windows PowerShell | 6 | N/A | N/A | N/A | N/A | N/A | Yes | N/A | Yes | Yes | N/A | Yes | Yes |
Yes | N/A | N/A | N/A |
| Wolfram Language & Mathematica | 13 |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
N/A | Yes | Knowledge Based |
Template:Programming paradigms navbox