This article lists concurrent and parallel programming languages, categorizing them by a defining paradigm. Concurrent and parallel programming languages involve multiple timelines. Such languages provide synchronization constructs whose behavior is defined by a parallel execution model. A concurrent programming language is defined as one which uses the concept of simultaneously executing processes or threads of execution as a means of structuring a program. A parallel language is able to express programs that are executable on more than one processor. Both types are listed, as concurrency is a useful tool in expressing parallelism, but it is not necessary. In both cases, the features must be part of the language syntax and not an extension such as a library (libraries such as the posix-thread library implement a parallel execution model but lack the syntax and grammar required to be a programming language).

The following categories aim to capture the main, defining feature of the languages contained, but they are not necessarily orthogonal.

Coordination languages

edit

Dataflow programming

edit

Distributed computing

edit

Event-driven and hardware description

edit

Functional programming

edit

Logic programming

edit

Monitor-based

edit

Multi-threaded

edit

Object-oriented programming

edit

Partitioned global address space (PGAS)

edit

Message passing

edit

Actor model

edit

CSP-based

edit

APIs/frameworks

edit

These application programming interfaces support parallelism in host languages.

See also

edit

References

edit
  1. ^ Thom Frühwirth (9 July 2009). Constraint Handling Rules. Cambridge University Press. ISBN 978-0-521-87776-3.
  2. ^ "Using Threads to Run Code Simultaneously - The Rust Programming Language". doc.rust-lang.org. Retrieved 2022-10-11.
  3. ^ "Using multiple threads". Godot Engine (stable) documentation. Archived from the original on 2026-01-28. Retrieved 2026-01-30.
  4. ^ Documentation » The Python Standard Library: Concurrent Execution
  5. ^ "Using Message Passing to Transfer Data Between Threads - The Rust Programming Language". doc.rust-lang.org. Retrieved 2022-10-11.
  6. ^ Alan Kay The Early History Of Smalltalk
  7. ^ "Crystal Programming Language – Concurrency". Retrieved 10 August 2018.

📚 Artikel Terkait di Wikipedia

Concurrent computing

(2013) Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming ISBN 9781449335946 "Concurrent and Parallel programming

Lists of programming languages

There are thousands of programming languages. These are listed in various ways: This article includes a technology-related list of lists.

Comparison of programming languages

follow rules for syntax and semantics. There are thousands of programming languages and new ones are created every year. Few languages ever become sufficiently

Parallel computing

Semiconductor's AltiVec and Intel's Streaming SIMD Extensions (SSE). Concurrent programming languages, libraries, APIs, and parallel programming models (such as

List of programming languages

notable programming languages, in current or historical use. Dialects of BASIC (which have their own page), esoteric programming languages, and markup

List of programming languages by type

is a list of notable programming languages, grouped by notable language attribute. As a language can have multiple attributes, the same language can be

Parallel programming model

Bridging model Concurrency Degree of parallelism Implicit parallelism Explicit parallelism List of concurrent and parallel programming languages Optical Multi-Tree

List of JVM languages

This list of JVM languages comprises notable computer programming languages that are used to produce computer software that runs on the Java Virtual Machine