stringtranslate.com

НЕЛИАК

Международный компилятор АЛГОЛА Лаборатории электроники ВМС ( NELIAC ) — это диалект и реализация компилятора языка программирования АЛГОЛ 58 , разработанного Лабораторией электроники ВМФ (NEL) в 1958 году. [1]

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

Источник

NELIAC был детищем Гарри Хаски , тогдашнего председателя Ассоциации вычислительной техники (ACM) и известного ученого-компьютерщика , при поддержке Мориса Холстеда, главы вычислительного центра NEL. Самая ранняя версия была реализована на прототипе компьютера AN/USQ-17 (названного «Графиня» , в честь графини Ады Лавлейс ) в лаборатории. Это был первый в мире самокомпилирующийся компилятор, эта особенность называется начальной загрузкой. Это означает, что компилятор сначала был закодирован в упрощенной форме на языке ассемблера «бутстрап», а затем переписан на своем собственном языке, скомпилирован этим «бутстрап»-компилятором и перекомпилирован сам по себе, что сделало «бутстрап» устаревшим.

Он считается вариантом АЛГОЛА 58 из-за сходства с этим языком, но в течение двух лет комитет АЛГОЛА выпустил другие версии АЛГОЛА, а NELIAC и АЛГОЛ разошлись.

Использовать

Компилятор использовался на графине для создания версии для CDC 1604 , а затем был скомпилирован на этой машине самостоятельно. Многие другие версии были произведены для коммерческих компьютеров, таких как UNIVAC 1107 , 490 и 418 , а также IBM 704 и 709 . Производственная версия NELIAC представляла собой систему второго поколения (для AN/USQ-20 — модернизированный и военизированный вариант AN/USQ-20), скомпилированную по первой версии, но включающую полное декодирование алгоритмических выражений и, позднее, система ввода/вывода (I/O) отсутствует во всех остальных версиях.

Декомпилятор был диковинкой. Первая версия работала на Countess, но позже была портирована на CDC 1604 и на другие компьютеры и получила некоторое признание в некоторых университетах. Однако оказалось, что на тот момент программ, достойных декомпиляции, было немного.

NELIAC никогда не задумывался как коммерческий продукт. Его основным преимуществом перед другими компиляторами того времени была его переносимость на другие компьютеры [2] и его однопроходная архитектура компилятора, которая делала возможным такое быстрое время компиляции, что он компилировался в 60–120 раз быстрее, чем другие языки программирования высокого уровня , которые использовали многопроходные компиляторы . Например, компилятор JOVIAL сделал 14 проходов . Простота языка и быстрое время компиляции позволяли выполнять циклы разработки намного быстрее, чем у других современных компиляторов. Это была собственная попытка NEL сделать возможным более экономичное решение проблемы разработки компьютерных систем.

NELIAC использовался Королевским военно-морским флотом Канады для разработки программного обеспечения для Системы управления и контроля 280 (используемой на эсминцах DDH-280) в период с 1967 по 1971 год. Для этого ВМС Канады создали Центр разработки программ в Оттаве, Онтарио, Канада. разработка программного обеспечения. Главным компьютером был Litton L304F с объемом памяти 160 КБ. [3] Из-за ограничений памяти прикладное программное обеспечение NELIAC позже было переписано на ассемблере.

NELIAC использовался для реализации экспериментальной корабельной системы противолодочной борьбы , а также использовался для разработки проекта Национального аварийного командного пункта на плаву (NECPA), в рамках которого была разработана стратегическая система управления и контроля, установленная на авианосцах и крейсерах . Возможно, самым успешным применением NELIAC было управление автоматизированной сетью высокочастотного пеленгирования ВМС США ( Classic Bullseye ), производство которой было запущено в 1968 году и продолжалось до начала 1990-х годов.

Кроме того, NEL разработала NELOS, пакетную операционную систему , которая обеспечивала ввод-вывод для магнитных лент, принтеров и телекоммуникационного оборудования, обеспечивала последовательную компиляцию заданий и библиотеку символов, позволяющую связывать очень большие компьютерные приложения и выполнять их в режиме онлайн. В их число входили наборы программ управления информацией, включая базы данных , запросы свободной формы с предшественником ГИС IBM и приложения для составления отчетов. NECPA и NELOS вышли в море в 1966 году.

Конец НЕЛИАКа

Однако программы NELIAC было нелегко переносить, поскольку язык позволял манипулировать двоичными символами, размер которых зависел от длины слова . Кроме того, язык NELIAC не имел схем ввода-вывода. Кроме того, его оператор цикла был необычно строгим в том смысле, что индексная переменная должна была точно достичь конечного значения, иначе возник бы бесконечный цикл . Это была ахиллесова пята НЕЛИАКА.

Многие другие известные компьютерные эксперты, такие как Никлаус Вирт, внесли свой вклад в проект, но в конечном итоге NELIAC впал в немилость после того, как военно-морское министерство стандартизировало компиляторы с коммерческой поддержкой.

Рекомендации

  1. ^ Хаски, HD; и другие. (август 1960 г.). «НЕЛИАК: Диалект Алголя». Коммуникации АКМ . 3 (8): 463–468. дои : 10.1145/367368.367373 . S2CID  5226222.
  2. ^ Холстед, Морис Ховард (1 января 1962 г.). Машинно-независимое программирование . Спартанские книги. ISBN 978-0-5984-1477-9.
  3. ^ Макгилливрей, DN; Свитцер, Г. «Вклад ВМС Канады в развитие систем тактических данных и каналов передачи данных» (PDF) . Канадская ассоциация технической истории военно-морского флота . Проверено 12 января 2024 г.

Внешние ссылки