HAL/S

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
HAL/S
HAL S.png
Семантика:

процедурный

Тип исполнения:

компилируемый

Появился в:

19701972[1]

Автор(ы):

Intermetrics

Система типов:

статическая

Испытал влияние:

PL/1, ALGOL, MAC/360

HAL/S (англ. High-order Assembly Language/Shuttle[2] — «язык ассемблера высокого уровня/шаттл») — язык программирования, предназначенный для аэрокосмических систем реального времени, получивший известность из-за использования в Программе космических шаттлов. Разработан в 1970-х годах компанией Intermetrics для НАСА. Написан на XPL, диалекте PL/I.

Тремя ключевыми факторами, обусловившими появление данного языка явились надёжность, эффективность и машиннонезависимость. Язык разработан для того, чтобы позволить выполнять задачи, связанные с аэрокосмическими нуждами (такие как векторные/матричные вычисления) так, чтобы это было легко понимаемо людьми, обладающими знаниями в области аэронавтики и не обязательно имеющими квалификацию в области программирования.

HAL/S разработан без многих конструкций, известных тем, что они часто приводят к ошибкам. В языке не используются сокращения для ключевых слов, ключевые слова не могут использоваться для обозначения переменных.

Некоторые возможности, такие как «GOTO» предоставлены главным образом для упрощения перевода на этот язык программ, написанных на других языках[3].

Особенности, подобные описанным, приданы языку для снижения вероятности появления ошибок и упрощения понимания программ (само-документирующийся код).

HAL не является акронимом. На странице введения спецификации языка HAL/S[4] говорится: «….основной вклад в концепцию и реализацию MAC внёс профессор Дж. Хэлкомб Лэйнинг (Dr. J. Halcombe Laning) из Draper Laboratory.» Название «HAL» для нового языка предложено Эдом Коппсом (Ed Copps), основателем Intermetrics, в честь Хэла Лэйнинга, коллеги по Массачусетскому технологическому институту.

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

Примечания[править | править исходный текст]

  1. Michael J. Ryer 1.2 HAL/S contrasted with other high order languages // Programming in HAL/S. — 1978.
  2. STS Software (англ.). NSTS 1988 News Reference Manual. NASA. Проверено 24 октября 2011. Архивировано из первоисточника 3 апреля 2012.
  3. [1] «Программирование на HAL/S», страница 82  (англ.)
  4. [2] «Спецификация языка HAL/S»  (англ.)
  5. Barbara Whitfield, … 2.1 Primary Source Input // HAL/S-FS Compiler System Specification. — 2005.

Ссылки[править | править исходный текст]