Jump to content

Система Ланинга и Цирлера

Система Лэнинга и Цирлера (иногда называемая ее пользователями «Джорджем») была первым действующим алгебраическим компилятором , то есть системой, способной принимать математические формулы в алгебраической записи и создавать эквивалентный машинный код (термин «компилятор» еще не был изобретен и систему называли « интерпретирующей программой»). Он был реализован в 1952 году. [1] для MIT WHIRLWIND Дж . Холкомба Лэнинга и Нила Зирлера. Ему предшествуют неалгебраические компиляторы, такие как UNIVAC A-0.

Описание

[ редактировать ]

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

Система также автоматизировала следующие задачи: вычисление с плавающей запятой , привязку к подпрограммам для основных функций анализа (синус и т. д.) и печати, а также массивов и индексации.

Система принимала входные данные на перфоленте, изготовленной компанией Friden Flexowriter . Набор символов , используемый при установке Whirlwind, включал в себя цифры в верхнем регистре (надстрочные индексы) и дефис, которые использовались для обозначения индексов массива, кодов функций и (целочисленных) показателей степени. Как и другие обозначения программирования того времени, система принимала только однобуквенные имена переменных, а умножение обозначалось сопоставлением операндов. Для явного обозначения умножения была доступна поднятая точка (символ был создан путем спиливания нижней половины двоеточия!) Система также включала поддержку решения линейных дифференциальных уравнений с помощью метода Рунге-Кутты .

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

Пример программы

[ редактировать ]

Следующий пример, взятый со страницы 11 руководства по системе, оценивает для используя разложение в ряд Тейлора . Реализация не очень эффективна, и система уже включает в себя в своей библиотеке подпрограмм, но этот пример служит для того, чтобы дать представление о синтаксисе системы. Обратите внимание, что деление в системе оценивается после умножения и что CP 1 является условной ветвью уравнения 1, если последняя вычисленная величина отрицательна:

   x = 0,
 1 z = 1 - x2/2 + x4/2·3·4 - x6/2·3·4·5·6
     + x8/2·3·4·5·6·7·8 - x10/2·3·4·5·6·7·8·9·10,

   PRINT x, z.
   x = x + .1,
   e = x -  1.05,
   CP 1,
   STOP

Приложения

[ редактировать ]

Для системы было написано несколько приложений. Одно задокументированное приложение, авторами которого были сами Лэнинг и Цирлер, касалось проблемы аэронавтики. [ нужна ссылка ] Для выражения задачи требовалось семь систем дифференциальных уравнений, и ее передали в Whirlwind, поскольку она была слишком велика для дифференциального анализатора Массачусетского технологического института . Авторы, используя особенность Рунге-Кутты своей системы программирования, создали программу из 97 операторов за два с половиной часа. Программа успешно заработала с первого раза.

Влияние на ФОРТРАН

[ редактировать ]

Некоторые источники утверждают, что система Лэнинга и Цирлера послужила источником вдохновения для FORTRAN . Сам Джон В. Бэкус признался, что способствовал этому заблуждению:

Влияние системы Лэнинга и Цирлера на развитие ФОРТРАНа — это вопрос, который был запутан из-за множества неверных утверждений с моей стороны. В течение многих лет я считал, что идея использования алгебраической записи на FORTRAN пришла к нам после демонстрации системы Лэнинга и Цирлера в Массачусетском технологическом институте. (Бакус [2] )

Изучив документацию того времени, Бэкус узнал, что проект FORTRAN «идет полным ходом», когда он и его команда получили возможность увидеть работу Лэнинга и Цирлера:

[Мы] уже рассматривали алгебраический ввод, значительно более сложный, чем тот, который использовался в системе Лэнинга и Цирлера, когда мы впервые услышали об их новаторской работе ... [Трудно сказать, какие новые идеи, если таковые вообще были, мы получили, увидев демонстрация своей системы. (Бакус [2] )

См. также

[ редактировать ]
  1. ^ Дженкинс, Деннис (1 апреля 2001 г.). Дик, Стивен Дж .; Гарбе, Стив (ред.). «Передовая автоматизация транспортных средств и компьютеры на борту шаттла» . Полет СТС-1: Компьютер . НАСА . Архивировано из оригинала 14 июля 2022 г. Проверено 14 июля 2022 г.
  2. ^ Jump up to: а б Бэкус, Джон Уорнер . История ФОРТРАНА I, II и III . Труды Первой конференции ACM SIGPLAN по истории языков программирования. Сан-Хосе, Калифорния, США. Архивировано из оригинала 27 августа 2005 г. (16 страниц)

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: dd983b373f78bd7a51b525b259b82124__1710477720
URL1:https://arc.ask3.ru/arc/aa/dd/24/dd983b373f78bd7a51b525b259b82124.html
Заголовок, (Title) документа по адресу, URL1:
Laning and Zierler system - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)