stringtranslate.com

Joule (lenguaje de programación)

Joule es un lenguaje de programación de flujo de datos masivo y concurrente con capacidad de seguridad, diseñado para crear aplicaciones distribuidas . [1] Es tan concurrente que el orden de las sentencias dentro de un bloque es irrelevante para el funcionamiento del bloque. Las sentencias se ejecutan siempre que sea posible, en función de sus entradas. Todo en Joule sucede mediante el envío de mensajes. No hay flujo de control . En cambio, el programador describe el flujo de datos, lo que lo convierte en un lenguaje de programación de flujo de datos . [ cita requerida ]

El desarrollo de Joule comenzó en 1994 en Agorics en Palo Alto, California . [ 2] Se considera el precursor del lenguaje de programación E. [3] [4]

Sintaxis del lenguaje

Los números consisten en dígitos ASCII del 0 al 9; los identificadores son secuencias Unicode de dígitos, letras y caracteres operadores que comienzan con una letra. También es posible formar identificadores utilizando secuencias Unicode (incluidos los espacios en blanco) encerradas entre comillas simples rectas (' ') o estándar (' '), donde la barra invertida es el carácter de escape. Las palabras clave deben comenzar con una letra, excepto la palabra clave para enviar información. Los operadores consisten en secuencias Unicode de dígitos, letras y caracteres operadores, que comienzan con un carácter operador. Las etiquetas son identificadores seguidos de dos puntos (':'). [5]

En esencia, Joule es un lenguaje imperativo y, por ello, un lenguaje basado en sentencias. Tiene una sintaxis de expresión rica, que se transforma fácilmente en su sintaxis relacional subyacente. Las expresiones complejas se convierten en sentencias independientes, donde el sitio de la expresión original se reemplaza por una referencia al aceptador del canal de resultados. Por lo tanto, las expresiones anidadas aún se calculan completamente de manera concurrente con su sentencia incorporada. [5]

 Si cantidad <= saldo • Retiro de cuenta: importe demás • informe de cuenta-rebote: fin

Un identificador puede nombrar un canal para comunicarse con el servidor. Si este es el caso, se dice que está vinculado a ese canal. [5]

Referencias

  1. ^ Miller, Mark Samuel (2006). "Composición robusta: hacia un enfoque unificado para el control de acceso y el control de concurrencia". Universidad Johns Hopkins. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  2. ^ Fremont, David (octubre de 1994). "Esperando el hacha cibernética". Spin . 10 (7): 88.
  3. ^ "Enlaces relacionados con Agoric Computing & Smart Contracts". erights.org . La deuda de E con Joule no puede ser exagerada.
  4. ^ "El manual del programador E". Electric Communities. 19 de julio de 1996. El lenguaje de programación E se inspiró en gran medida en el lenguaje Joule, que actualmente desarrollan Dean Tribble, Norm Hardy y sus colegas de Agorics, Inc.
  5. ^ abc "Joule: Fundamentos de aplicaciones distribuidas: 4.2. Expresiones" (PDF) . 1 . Agorics, Inc. 20 de diciembre de 2004: 31–33 . Consultado el 29 de agosto de 2012 . {{cite journal}}: Requiere citar revista |journal=( ayuda )

Enlaces externos