Джоуль (язык программирования)
Парадигма | мультипарадигмальность : объектно-ориентированная , распределенная , поток данных |
---|---|
Разработано | Э. Дин Триббл |
Впервые появился | 1996 |
Дисциплина набора текста | нетипизированный |
Под влиянием | |
Параллельное логическое программирование , Актеры | |
Под влиянием | |
И |
Joule — это безопасный с массовым параллелизмом язык программирования потоков данных , предназначенный для создания распределенных приложений . [1] Он настолько параллелен, что порядок операторов внутри блока не имеет значения для работы блока. Операторы выполняются, когда это возможно, на основе их входных данных. Все в Джоуле происходит путем отправки сообщений. Нет потока управления . Вместо этого программист описывает поток данных, превращая его в язык программирования потоков данных . [ нужна ссылка ]
Разработка Joule началась в 1994 году в компании Agorics в Пало-Альто, Калифорния . [2] Он считается предшественником языка программирования E. [3] [4]
Синтаксис языка [ править ]
Цифры состоят из цифр ASCII 0–9; идентификаторы — это последовательности цифр, букв и операторных символов Юникода , начинающиеся с буквы. Также возможно формировать идентификаторы с помощью последовательностей Юникода (включая пробелы), заключенных в прямые (' ') или стандартные (' ') одинарные кавычки, где обратная косая черта является escape-символом. Ключевые слова должны начинаться с буквы, за исключением ключевого слова • для отправки информации. Операторы состоят из последовательностей цифр, букв и символов Unicode, начинающихся с символа оператора. Метки представляют собой идентификаторы, за которыми следует двоеточие (':'). [5]
По сути, Джоуль — это императивный язык и, следовательно, язык, основанный на утверждениях. Он имеет богатый синтаксис выражений, который легко преобразуется в реляционный синтаксис. Сложные выражения становятся отдельными операторами, в которых место исходного выражения заменяется ссылкой на получателя канала результатов. Таким образом, вложенные выражения по-прежнему вычисляются полностью одновременно с оператором внедрения. [5]
If amount <= balance • account withdraw: amount else • account report-bounce: end
Идентификаторы могут называть канал для связи с сервером. В этом случае говорят, что он привязан к этому каналу. [5]
Ссылки [ править ]
- ^ Миллер, Марк Сэмюэл (2006). «Надежная композиция: к единому подходу к контролю доступа и управлению параллелизмом» . Университет Джонса Хопкинса.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Фремонт, Дэвид (октябрь 1994 г.). «В ожидании кибер-топора» . Вращаться . 10 (7): 88.
- ^ «Ссылки по теме на агорические вычисления и смарт-контракты» . erights.org .
Долг Э перед Джоулем невозможно переоценить.
- ^ «Руководство программиста E» . Электрические сообщества. 19 июля 1996 г.
Язык программирования E был во многом вдохновлен языком Joule, который в настоящее время разрабатывается Дином Трибблом, Нормом Харди и их коллегами из Agorics, Inc.
- ↑ Перейти обратно: Перейти обратно: а б с «Джоуль: Основы распределенных приложений: 4.2. Выражения» (PDF) . 1 . Agorics, Inc., 20 декабря 2004 г.: 31–33 . Проверено 29 августа 2012 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь )
Внешние ссылки [ править ]