HAL/S
![]() |
|
| Семантика: | |
|---|---|
| Тип исполнения: | |
| Появился в: | |
| Автор(ы): | |
| Типизация данных: | |
| Испытал влияние: | |
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]. Это было сделано в соответствии с математической нотацией.
[править] Примечания
- в‘ Michael J. Ryer 1.2 HAL/S contrasted with other high order languages // Programming in HAL/S. в 1978.
- в‘ STS Software (англ.). NSTS 1988 News Reference Manual. NASA. Архивировано из первоисточника 3 апреля 2012. Проверено 24 октября 2011.
- в‘ [1] «Программирование на HAL/S», страница 82 (англ.)
- в‘ [2] «Спецификация языка HAL/S» (англ.)
- в‘ Barbara Whitfield, в 2.1 Primary Source Input // HAL/S-FS Compiler System Specification. в 2005.
[править] Ссылки
| Портал «Космонавтика» |
-
- включая спецификации языка и компилятора, руководство программиста и пользователя.
- Компьютеры в космических полётах: опыт НАСА (англ.) в Джорджа Томаяко (George Tomayko) (Приложение II: «HAL/S, язык реального времени для космических полётов») (англ.)
| Основные языки программирования (сравнение IDE история хронология) | |
|---|---|
| Используемые в разработке |
Ада APL Язык ассемблера ActionScript ABAP/4 AutoIt AWK Бейсик Си Кобол C++ C# Cω Clarion Clojure ColdFusion Common Lisp D dBase Delphi Eiffel Erlang Euphoria F# Форт Фортран Gambas Go Groovy HAL/S Haskell Icon Java JavaScript Limbo Lua Object Pascal Objective-C OCaml Oz Parser Паскаль Perl PHP PowerBASIC PureBasic Python ПЛ/1 Пролог Ruby Scala Scheme Smalltalk SQL PL/SQL Tcl Vala Visual Basic (.NET) |
| Академические | |
| IEC 61131-3 | |
| Прочие | |
| Эзотерические | |
| Визуальные | |
