List of Programming Languages By Type - Concurrent Languages

Concurrent Languages

See also: Category:Concurrent programming languages

Message passing languages provide language constructs for concurrency. The predominant paradigm for concurrency in mainstream languages such as Java is shared memory concurrency based on monitors. Concurrent languages that make use of message passing have generally been inspired by CSP or the π-calculus, but have had little commercial success, except for Ada and Erlang. Ada is a multipurpose language and concurrent programming is only one option available.

  • Ada (multi-purpose language)
  • Afnix – concurrent access to data is protected automatically (previously called Aleph, but unrelated to Alef)
  • Alef – concurrent language with threads and message passing, used for systems programming in early versions of Plan 9 from Bell Labs
  • Ateji PX an extension of the Java language for parallelism
  • ChucK – domain specific programming language for audio, precise control over concurrency and timing
  • Cilk – a concurrent C
  • Cω – C Omega, a research language extending C#, uses asynchronous communication
  • Clojure – a dialect of Lisp for the Java Virtual Machine
  • ConcurrentLua – a Lua extension
  • Chapel
  • Co-array Fortran
  • Concurrent Pascal (by Brinch-Hansen)
  • Corn
  • Curry
  • E – uses promises, ensures deadlocks cannot occur
  • Eiffel (through the SCOOP mechanism, Simple Concurrent Object-Oriented Computation)
  • Erlang – uses asynchronous message passing with nothing shared
  • Go
  • Java
    • Join Java – concurrent language based on Java
    • X10
  • Join-calculus
  • Joule – dataflow language, communicates by message passing
  • Limbo – relative of Alef, used for systems programming in Inferno (operating system)
  • MultiLisp – Scheme variant extended to support parallelism
  • occam – influenced heavily by Communicating Sequential Processes (CSP).
    • occam-π – a modern variant of occam, which incorporates ideas from Milner's π-calculus
  • Orc
  • Oz – multiparadigm language, supports shared-state and message-passing concurrency, and futures
    • Mozart Programming System – multiplatform Oz
  • Pict – essentially an executable implementation of Milner's π-calculus
  • SALSA – actor language with token-passing, join, and first-class continuations for distributed computing over the Internet
  • Scala – implements Erlang-style actors on the JVM
  • SR – research language
  • Unified Parallel C
  • XProc – XML Processing language, enabling concurrency.

Read more about this topic:  List Of Programming Languages By Type

Famous quotes containing the words concurrent and/or languages:

    I have been too long acquainted with human nature to have great regard for human testimony; and a very great degree of probability, supported by various concurrent circumstances, conspiring in one point, will have much greater weight with me, than human testimony upon oath, or even upon honour; both of which I have frequently seen considerably warped by private views.
    Philip Dormer Stanhope, 4th Earl Chesterfield (1694–1773)

    The trouble with foreign languages is, you have to think before your speak.
    Swedish proverb, trans. by Verne Moberg.