This article possibly contains original research .(August 2009) |
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 | 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 | Library | — | 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 | — | — | 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 | — | — | 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 | Partial | 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 | — | — | — | 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 |