Русская Википедия:HAL/S

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Значения Шаблон:Карточка языка программирования

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

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

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

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

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

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

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

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Языки программирования

  1. Шаблон:Cite web
  2. Шаблон:Cite web «Программирование на HAL/S», страница 82 Шаблон:Ref-en
  3. Шаблон:Cite web «Спецификация языка HAL/S» Шаблон:Ref-en
  4. Шаблон:Cite webШаблон:Cite web