Comparison of multi-paradigm programming languages


s can be grouped by the number and types of paradigms supported.

Paradigm summaries

A concise reference for the programming paradigms listed in this article.
LanguageOther
Ada5
ALF2
AmigaE
2
APL3Array
BETA
3
C++7 Array
C#6 Reactive
ChucK
3
Claire2
Clojure5Multiple dispatch, Agents
Common Lisp7 Multiple dispatch, meta-OOP system, Language is extensible via metaprogramming.
Curl5
Curry4
D 7
Delphi3
Dylan
3
E3
ECMAScript 4 Reactive, event driven
Erlang3
Elixir4
Elm6 Reactive
F#7 Reactive
Fortran4 Array
Go4
Haskell8 Literate, reactive, dependent types
Io4
J
3
Java6
Julia9 Multiple dispatch,
Array ; optionally lazy and reactive
Kotlin8
LabVIEW4
Lava2
LispWorks 9
Lua
3
MATLAB6 Array
Nemerle7
Object Pascal4
OCaml4
Oz11
Perl
8
PHP4
Poplog3
Prograph3
Python5 Structured
R4 Array
Racket10Lazy
Raku10Multiple dispatch, lazy lists, reactive.
ROOP3
Ruby5
Rust 6Linear, affline, and ownership types
Sather
2
Scala9
Simula
2
SISAL3
Spreadsheets2
Swift7Block-structured
Tcl with Snit extension
3
Visual Basic.NET6 Reactive
Windows PowerShell6
Wolfram Language & Mathematica13 Knowledge Based