Misplaced Pages

List of concurrent and parallel programming languages

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
(Redirected from XC (programming language))

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

Dataflow programming

Main article: Dataflow programming

Distributed computing

Main article: Distributed computing

Event-driven and hardware description

Main articles: Event-driven programming and Hardware Description Language

Functional programming

Main article: Functional programming

Logic programming

Main article: Concurrent logic programming

Monitor-based

Main article: Monitor (synchronization)

Multi-threaded

Main article: Multithreading (software)

Object-oriented programming

Main article: Object-oriented programming

Partitioned global address space (PGAS)

Main article: Partitioned global address space

Message passing

Main article: Message passing

Actor model

Main article: Actor model

CSP-based

Main article: Communicating sequential processes

APIs/frameworks

These application programming interfaces support parallelism in host languages.

See also

References

  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. Documentation » The Python Standard Library » Concurrent Execution
  4. "Using Message Passing to Transfer Data Between Threads - The Rust Programming Language". doc.rust-lang.org. Retrieved 2022-10-11.
  5. Alan Kay The Early History Of Smalltalk
  6. "Crystal Programming Language – Concurrency". Retrieved 10 August 2018.
Categories: