Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Joule - это надежный язык программирования с массовым параллелизмом потоков данных , предназначенный для создания распределенных приложений . [1] Он настолько параллелен, что порядок операторов внутри блока не имеет отношения к работе блока. Операторы выполняются, когда это возможно, на основе их входных данных. Все в Joule происходит путем отправки сообщений. Нет потока управления . Вместо этого, программист описывает поток данных, что делает его программирование потоков данных языка. [ необходима цитата ]

Разработка Joule началась в 1994 году на предприятии Agorics в Пало-Альто, Калифорния . [2] Это считается предшественником языка программирования Е . [3] [4]

Синтаксис языка [ править ]

Цифры состоят из цифр ASCII 0–9; идентификаторы - это последовательности цифр, букв и символов операторов в Юникоде , которые начинаются с буквы. Также возможно формировать идентификаторы, используя последовательности Unicode (включая пробелы), заключенные в прямые ('') или стандартные ('') одинарные кавычки, где обратная косая черта является escape-символом. Ключевые слова должны начинаться с буквы, за исключением ключевого слова для отправки информации. Операторы состоят из последовательностей Unicode цифр, букв и символов оператора, начинающихся с символа оператора. Ярлыки - это идентификаторы, за которыми следует двоеточие (':'). [5]

По сути, Джоуль является императивным языком, и поэтому языком, основанным на утверждениях. Он имеет богатый синтаксис выражений, который легко трансформируется в его реляционный синтаксис ниже. Сложные выражения становятся отдельными операторами, где сайт исходного выражения заменяется ссылкой на приемник канала результатов. Следовательно, вложенные выражения по-прежнему вычисляются полностью одновременно с их оператором внедрения. [5]

 Если сумма <= баланс • снятие со счета: сумма еще • отчет-отказ аккаунта: конец

Идентификаторы могут называть канал для связи с сервером. В этом случае говорят, что он привязан к этому каналу. [5]

Ссылки [ править ]

  1. Перейти ↑ Miller, Mark Samuel (2006). «Надежная композиция: к единому подходу к контролю доступа и контролю параллелизма» . Университет Джона Хопкинса. Цитировать журнал требует |journal=( помощь )
  2. ^ Фремонт, Дэвид (октябрь 1994). «В ожидании кибер-топора» . Спин . 10 (7): 88.
  3. ^ «Ссылки по теме Agoric Computing & Smart Contracts» . erights.org . Долг Э Джоуля невозможно переоценить.
  4. ^ "Руководство программиста E" . Электрические сообщества. 19 июля 1996 г. Язык программирования E во многом был вдохновлен языком Joule, который в настоящее время разрабатывают Дин Триббл, Норм Харди и их коллеги из Agorics, Inc.
  5. ^ a b c «Джоуль: Основы распределенных приложений: 4.2. Выражения» (PDF) . 1 . Agorics, Inc., 20 декабря 2004 г.: 31–33 . Проверено 29 августа 2012 . Цитировать журнал требует |journal=( помощь )

Внешние ссылки [ править ]

  • Джоуль: основы распределенных приложений
  • C2: конвейерная обработка обещаний