stringtranslate.com

Lista de lenguajes de programación concurrente y paralela

Este artículo enumera los lenguajes de programación concurrente y paralela , categorizándolos por un paradigma definitorio . Los lenguajes de programación concurrente y paralela implican múltiples líneas de tiempo. Dichos lenguajes proporcionan construcciones de sincronización cuyo comportamiento está definido por un modelo de ejecución paralela . Un lenguaje de programación concurrente se define como uno que utiliza el concepto de ejecutar procesos o hilos de ejecución simultáneamente como un medio para estructurar un programa. Un lenguaje paralelo puede expresar programas que son ejecutables en más de un procesador. Ambos tipos se enumeran, ya que la concurrencia es una herramienta útil para expresar paralelismo, pero no es necesaria. En ambos casos, las características deben ser parte de la sintaxis del lenguaje y no una extensión como una biblioteca (bibliotecas como la biblioteca posix-thread implementan un modelo de ejecución paralela pero carecen de la sintaxis y la gramática requeridas para ser un lenguaje de programación).

Las siguientes categorías pretenden capturar la característica principal y definitoria de los idiomas contenidos, pero no son necesariamente ortogonales.

Lenguajes de coordinación

Programación de flujo de datos

Computación distribuida

Descripción basada en eventos y hardware

Programación funcional

Programación lógica

Basado en monitor

Multiproceso

Programación orientada a objetos

Espacio de direcciones global particionado (PGAS)

Paso de mensajes

Modelo de actor

Basado en CSP

API/marcos de trabajo

Estas interfaces de programación de aplicaciones admiten el paralelismo en lenguajes host.

Véase también

Referencias

  1. ^ Thom Frühwirth (9 de julio de 2009). Reglas de manejo de restricciones. Cambridge University Press. ISBN 978-0-521-87776-3.
  2. ^ "Uso de subprocesos para ejecutar código simultáneamente: el lenguaje de programación Rust". doc.rust-lang.org . Consultado el 11 de octubre de 2022 .
  3. ^ Documentación » La biblioteca estándar de Python » Ejecución concurrente
  4. ^ "Uso del paso de mensajes para transferir datos entre subprocesos: el lenguaje de programación Rust". doc.rust-lang.org . Consultado el 11 de octubre de 2022 .
  5. ^ Alan Kay La historia temprana de Smalltalk
  6. ^ "Lenguaje de programación Crystal: concurrencia" . Consultado el 10 de agosto de 2018 .