Progulki-po-reke-moskwa.ru

прогулки на теплоходе по Москве реке

HAL/S

29-07-2023

Перейти к: навигация, поиск
HAL/S
Семантика:

процедурный

Класс языка:

язык программирования

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

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

Появился в:

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. HAL/S-FS Compiler System Specification. — 2005.

Ссылки

  • Центр НАСА дизайна логики: компьютеры и авионика космических шаттлов  (англ.)
  • включая спецификации языка и компилятора, руководство программиста и пользователя.
  • Компьютеры в космических полётах: опыт НАСА  (англ.) — Джорджа Томаяко (George Tomayko) (Приложение II: «HAL/S, язык реального времени для космических полётов»)  (англ.)

HAL/S.

© 2021–2023 progulki-po-reke-moskwa.ru, Россия, Нальчик, ул. Терская 11, +7 (8662) 65-82-84