Английская Википедия:Comparison of multi-paradigm programming languages

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description Шаблон:Original research Programming languages can be grouped by the number and types of paradigms supported.

Paradigm summaries

A concise reference for the programming paradigms listed in this article.

  • Concurrent programming – have language constructs for concurrency, these may involve multi-threading, support for distributed computing, message passing, shared resources (including shared memory), or futures
    • Actor programming – concurrent computation with actors that make local decisions in response to the environment (capable of selfish or competitive behaviour)
  • Constraint programming – relations between variables are expressed as constraints (or constraint networks), directing allowable solutions (uses constraint satisfaction or simplex algorithm)
  • Dataflow programming – forced recalculation of formulas when data values change (e.g. spreadsheets)
  • Declarative programming – describes what computation should perform, without specifying detailed state changes c.f. imperative programming (functional and logic programming are major subgroups of declarative programming)
  • Distributed programming – have support for multiple autonomous computers that communicate via computer networks
  • Functional programming – uses evaluation of mathematical functions and avoids state and mutable data
  • Generic programming – uses algorithms written in terms of to-be-specified-later types that are then instantiated as needed for specific types provided as parameters
  • Imperative programming – explicit statements that change a program state
  • Logic programming – uses explicit mathematical logic for programming
  • Metaprogramming – writing programs that write or manipulate other programs (or themselves) as their data, or that do part of the work at compile time that would otherwise be done at runtime
    • Template metaprogramming – metaprogramming methods in which a compiler uses templates to generate temporary source code, which is merged by the compiler with the rest of the source code and then compiled
    • Reflective programming – metaprogramming methods in which a program modifies or extends itself
  • Object-oriented programming – uses data structures consisting of data fields and methods together with their interactions (objects) to design programs
    • Class-based – object-oriented programming in which inheritance is achieved by defining classes of objects, versus the objects themselves
    • Prototype-based – object-oriented programming that avoids classes and implements inheritance via cloning of instances
  • Pipeline programming – a simple syntax change to add syntax to nest function calls to language originally designed with none
  • Rule-based programming – a network of rules of thumb that comprise a knowledge base and can be used for expert systems and problem deduction & resolution
  • Visual programming – manipulating program elements graphically rather than by specifying them textually (e.g. Simulink); also termed diagrammatic programming[1]

Language overview

List of multi-paradigm programming languages
Language Number of paradigms Concurrent Constraints Data­flow Declarative Distributed Functional Meta­programming Generic Imperative Logic Reflection Object­oriented Pipe­lines Visual Rule-­based Other paradigms
Ada[2][3][4][5][6] 5 Шаблон:Yes[a 1] Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
ALF 2 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No
AmigaEШаблон:Citation needed 2 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
APL 3 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Array (multi-dimensional)
BETAШаблон:Citation needed 3 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
C++ 7 (15) Шаблон:Yes[7][8][9] Шаблон:Partial[10] Шаблон:Partial[11][12] Шаблон:Partial[13][14] Шаблон:Partial[15][16] Шаблон:Yes Шаблон:Yes[17] Шаблон:Yes[a 3] Шаблон:Yes Шаблон:Partial[18][19] Шаблон:Partial[20] Шаблон:Yes[a 2] Шаблон:Yes[21] Шаблон:No Шаблон:Partial[22] Array (multi-dimensional; using STL)
C# 6 (7) Шаблон:Yes Шаблон:No Шаблон:Partial[a 4] Шаблон:No Шаблон:No Шаблон:Yes[a 5] Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No reactive[a 6]
ChucKШаблон:Citation needed 3 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Claire 2 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Clojure 5 Шаблон:Yes[23][24] Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes[25] Шаблон:Yes[26] Шаблон:No Шаблон:No Шаблон:Partial[27] Шаблон:No Шаблон:No Шаблон:Yes[28] Шаблон:Partial[29] Шаблон:No Multiple dispatch,[30] Agents[31]
Common Lisp 7 (14) Шаблон:Partial[32] Шаблон:Partial[33] Шаблон:Partial[34] Шаблон:Yes[35] Шаблон:Partial[36] Шаблон:Yes Шаблон:Yes Шаблон:Yes[37] Шаблон:Yes Шаблон:Partial[38] Шаблон:Yes Шаблон:Yes (multiple dispatch, method combinations)[39][a 2] Шаблон:Partial[40] Шаблон:Partial[41] Шаблон:Partial[42] Multiple dispatch, meta-OOP system,[43] Language is extensible via metaprogramming.
Curl 5 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes[a 3] Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Curry 4 Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No
D (version 2.0)[44][45] 7 Шаблон:Yes[a 7] Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes[46][a 3] Шаблон:Yes[a 3] Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Delphi 3 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes[a 3] Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
DylanШаблон:Citation needed 3 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
E 3 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
ECMAScript[47][48] (ActionScript, E4X, JavaScript, JScript) 4 (5) Шаблон:Partial[a 8] Шаблон:No Шаблон:No Шаблон:Partial[49][50] Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 9] Шаблон:Partial[51][52] Шаблон:Partial[53] Шаблон:No reactive,[a 10][54] event driven[a 11][a 12]
Erlang 3 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No
Elixir 4 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No
Elm 6 Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes (pure)[a 13] Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No reactive
F# 7 (8) Шаблон:Yes[a 7] Шаблон:No Шаблон:Partial[a 4] Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No reactive[a 6]
Fortran 4 (5) Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes[a 13] Шаблон:No Шаблон:Yes[a 14] Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Array (multi-dimensional)
Go 4 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No
Haskell 8 (15) Шаблон:Yes Шаблон:Partial[55] Шаблон:Partial[56] Шаблон:Yes Шаблон:Partial[57] Шаблон:Yes (lazy) (pure)[a 13] Шаблон:Yes[58] Шаблон:Yes Шаблон:Yes Шаблон:Partial[59] Шаблон:No Шаблон:Partial Шаблон:Yes Шаблон:Yes Шаблон:Partial[60] Шаблон:Yes
Io 4 Шаблон:Yes[a 7] Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 9] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
JШаблон:Citation needed 3 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Java 6 Шаблон:Yes Шаблон:Partial[61] Шаблон:Partial[62] Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Julia 9 (17) Шаблон:Yes Шаблон:Partial[63] Шаблон:Partial[64][65] Шаблон:Partial[66] Шаблон:Yes Шаблон:Yes (eager) Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Partial[67] Шаблон:Yes Шаблон:Yes (multiple dispatch, not traditional single) Шаблон:Yes Шаблон:No Шаблон:Partial[68][69] Multiple dispatch,
Array (multi-dimensional); optionally lazy[70] and reactive (with libraries)
Kotlin 8 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No
LabVIEW 4 Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No
Lava 2 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No
LispWorks (version 6.0 with support for symmetric multi-processing, rules, logic (Prolog), CORBA) 9 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No
LuaШаблон:Citation needed 3 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 9] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
MATLAB 6 (10) Шаблон:Partial[71] Шаблон:Partial[72] Шаблон:Yes[73] Шаблон:No Шаблон:Partial[74] Шаблон:No Шаблон:Yes[75] Шаблон:Yes[76] Шаблон:No Шаблон:No Шаблон:Yes[77] Шаблон:Yes[78] Шаблон:No Шаблон:Yes[79] Шаблон:No Array (multi-dimensional)
Nemerle 7 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Object Pascal 4 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
OCaml 4 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Oz 11 Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes[a 2] Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No
PerlШаблон:Citation needed 8 (9) Шаблон:Yes[80] Шаблон:Partial[81] Шаблон:Yes[82] Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes[a 2] Шаблон:Yes[a 2] Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No
PHP[83][84][85] 4 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Poplog 3 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Prograph 3 Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No
Python 5 (10) Шаблон:Partial[86][87] Шаблон:Partial[88] Шаблон:No Шаблон:No Шаблон:Partial[89] Шаблон:Yes Шаблон:Yes[90][91] Шаблон:Yes[92][93] Шаблон:Yes Шаблон:Partial[94] Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:Partial[95] Шаблон:No structured
R 4 (6) Шаблон:Partial[96] Шаблон:No Шаблон:No Шаблон:No Шаблон:Partial[97] Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes[98] Шаблон:No Шаблон:No Array (multi-dimensional)
Racket 10 Шаблон:Yes[99] Шаблон:Yes[100] Шаблон:Yes[101] Шаблон:No Шаблон:Yes[102] Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Lazy[103]
Raku 10 Шаблон:Yes[104] Шаблон:Yes[105] Шаблон:Yes[106] Шаблон:No Шаблон:Partial[107] Шаблон:Yes Шаблон:Yes[108] Шаблон:Yes[109] Шаблон:Yes Шаблон:No Шаблон:Yes[110] Шаблон:Yes[111] Шаблон:Yes Шаблон:No Шаблон:No Multiple dispatch, lazy lists, reactive.
ROOP 3 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No
Ruby 5 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Rust (version 1.0.0-alpha) 6 Шаблон:Yes[a 7] Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes[112][113] Шаблон:Yes[114] Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No linear, affline, and ownership types
SatherШаблон:Citation needed 2 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Scala[115][116] 9 Шаблон:Yes[a 7] Шаблон:No Шаблон:Yes[a 15] Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
SimulaШаблон:Citation needed 2 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
SISAL 3 Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Spreadsheets 2 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No
Swift 7 Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No block-structured
Tcl with Snit extension Шаблон:Citation needed 3 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes[117] Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:No Шаблон:Yes[a 9][118] Шаблон:No Шаблон:No Шаблон:No Шаблон:No
Visual Basic .NET 6 (7) Шаблон:Yes Шаблон:No Шаблон:Partial[a 4] Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:No Шаблон:No Шаблон:No reactive[a 6]
Windows PowerShell 6 Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:No Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes Шаблон:No Шаблон:Yes Шаблон:Yes[a 2] Шаблон:Yes Шаблон:No Шаблон:No Шаблон:No
Wolfram Language & Mathematica 13[119] (14) Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes Шаблон:Yes[120] Шаблон:No Шаблон:Yes Knowledge Based

See also

Notes

Шаблон:Reflist

Citations

Шаблон:Reflist

References

  • Jim Coplien, Multiparadigm Design for C++, Addison-Wesley Professional, 1998.

Шаблон:Programming paradigms navbox Шаблон:Types of programming languages

  1. Шаблон:Cite book
  2. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 9: Tasks and Synchronization
  3. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3 Annex E: Distributed Systems
  4. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 12: Generic Units
  5. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 6: Subprograms
  6. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 3.9 Tagged Types and Type Extensions
  7. Thread support
  8. Atomics support
  9. Memory model
  10. Gecode
  11. SystemC
  12. Boost.Iostreams
  13. Boolinq
  14. Шаблон:Cite web
  15. OpenMPI
  16. Boost.MPI
  17. Boost.MPL
  18. LC++
  19. Castor Шаблон:Webarchive
  20. Reflect Library
  21. N3534
  22. Boost.Spirit
  23. Clojure - Concurrent Programming
  24. Clojure - core.async
  25. Clojure - Functional Programming
  26. Clojure - Macros
  27. Clojure - core.logic
  28. Clojure - Threading Macros Guide
  29. Шаблон:Cite web
  30. Multimethods and Hierarchies
  31. Agents and Asynchronous Actions
  32. [1] many concurrency paradigms implemented as language extensions
  33. [2] constraint programming inside CL through extensions
  34. [3] dataflow extension
  35. [4] by creating DSLs using the built-in metaprogramming; also see note on functional, constraint and logic paradigms, which are part of declarative
  36. [5] MPI, etc via language extensions
  37. template metaprogramming using macros (see C++)
  38. [6] [7] [8] Prolog implemented as a language extension
  39. Common Lisp Object System see Wikipedia article on CLOS, the Common Lisp Object System.
  40. implemented by the user via a short macro, example of implementation
  41. - Visual programming tool based on Common Lisp
  42. [9] rule-based programming extension
  43. [10] Шаблон:Webarchive through the Meta Object Protocol
  44. D Language Feature Table
  45. Phobos std.algorithm
  46. D language String Mixins
  47. The Little JavaScripter demonstrates fundamental commonality with Scheme, a functional language.
  48. Object-Oriented Programming in JavaScript Шаблон:Webarchive gives an overview of object-oriented programming techniques in JavaScript.
  49. Шаблон:Cite web
  50. Шаблон:Cite web
  51. Шаблон:Cite web
  52. Шаблон:Cite web
  53. Шаблон:Cite web
  54. Шаблон:Cite web
  55. Шаблон:Cite web
  56. Шаблон:Cite web
  57. Cloud Haskell
  58. Шаблон:Cite web
  59. Шаблон:Cite web
  60. Шаблон:Cite web
  61. https://jcp.org/en/jsr/detail?id=331 JSR 331: Constraint Programming API
  62. https://github.com/GoogleCloudPlatform/DataflowJavaSDK Google Cloud Platform Dataflow SDK
  63. Шаблон:Cite web
  64. Шаблон:Cite web
  65. Шаблон:Cite web
  66. https://github.com/davidanthoff/Query.jl Query almost anything in julia
  67. https://github.com/lilinjn/LilKanren.jl A collection of Kanren implementations in Julia
  68. Шаблон:Cite web
  69. Шаблон:Cite web
  70. Lazy https://github.com/MikeInnes/Lazy.jl
  71. Шаблон:Cite web
  72. Шаблон:Cite web
  73. Шаблон:Cite web
  74. Шаблон:Cite web
  75. Шаблон:Cite web
  76. Шаблон:Cite web
  77. Шаблон:Cite web
  78. Шаблон:Cite web
  79. Шаблон:Cite web
  80. interpreter based threads
  81. Moose
  82. Higher Order Perl
  83. PHP Manual, Chapter 17. Functions
  84. PHP Manual, Chapter 19. Classes and Objects (PHP 5)
  85. PHP Manual, Anonymous functions
  86. Шаблон:Cite web
  87. Шаблон:Cite web
  88. Шаблон:Cite web
  89. Шаблон:Cite web
  90. Шаблон:Cite web
  91. Шаблон:Cite web
  92. Шаблон:Cite web
  93. Шаблон:Cite web
  94. Шаблон:Cite web
  95. Шаблон:Cite web
  96. Шаблон:Cite web
  97. Шаблон:Cite web
  98. Шаблон:Cite web
  99. Racket Guide: Concurrency and Synchronization
  100. The Rosette Guide
  101. FrTime: A Language for Reactive Programs
  102. Racket Guide: Distributed Places
  103. Lazy Racket
  104. Channels and other mechanisms
  105. Шаблон:Cite web
  106. Feed operator
  107. https://github.com/perl6/doc/issues/1744#issuecomment-360565196 Cro module
  108. Шаблон:Cite web
  109. https://perl6advent.wordpress.com/2009/12/18/day-18-roles/ Parametrized Roles
  110. Шаблон:Cite web
  111. https://docs.perl6.org/language/classtut Classes and Roles
  112. Шаблон:Cite web
  113. Шаблон:Cite web
  114. The Rust Reference §6.1.3.1
  115. An Overview of the Scala Programming Language
  116. Scala Language Specification
  117. Шаблон:Cite web
  118. Шаблон:Cite web
  119. Notes for Programming Language Experts, Wolfram Language Documentation.
  120. External Programs, Wolfram Language Documentation.


Ошибка цитирования Для существующих тегов <ref> группы «a» не найдено соответствующего тега <references group="a"/>