Евклид (язык программирования)
Парадигма | мультипарадигмальность : структурированная , императивная , функциональная. |
---|---|
Разработано | Батлер Лэмпсон , Джеймс Дж. Митчелл , Джим Хорнинг , Ральф Л. Лондон, Джералд Дж. Попек |
Разработчик | Рик Холт и Джеймс Корди |
Впервые появился | 1970-е годы |
Дисциплина набора текста | сильный , статичный |
Под влиянием | |
Паскаль , Меса , Альфард , CLU , Gypsy, BCPL , Modula , LIS , SUE | |
Под влиянием | |
Одновременно Евклид , Тьюринг |
Euclid — императивный язык программирования для написания проверяемых программ. Он был разработан в середине 1970-х годов Батлером Лэмпсоном и Джеймсом Г. Митчеллом в лаборатории Xerox PARC в сотрудничестве с Джимом Хорнингом из Университета Торонто , Ральфом Л. Лондоном из USC ISI и Джеральдом Дж. Попеком из Калифорнийского университета в Лос-Анджелесе . Реализацией руководил Рик Холт из Университета Торонто , а Джеймс Корди был главным программистом первой реализации компилятора . Первоначально он был разработан для микропроцессора Motorola 6809 . Для того времени это считалось новаторским; Группа разработчиков компилятора имела бюджет в 2 миллиона долларов на два года и была заказана Агентством перспективных исследовательских проектов Министерства обороны США и Министерством национальной обороны Канады . В течение нескольких лет он использовался в IP Sharp Associates , MITRE Corporation , SRI International и различных других международных институтах для исследований в области системного программирования и безопасных программных систем.
Евклид происходит от Pascal , Mesa , Alphard , CLU , Gypsy, BCPL , Modula , LIS и SUE. Функции в Euclid имеют закрытую область видимости, не могут иметь побочных эффектов и должны явно объявлять импорт. Евклид также запрещает gotos , числа с плавающей запятой, глобальные присваивания, вложенные функции и псевдонимы, и ни один из фактических параметров функции не может ссылаться на одну и ту же ячейку памяти (которую Евклид называет «переменной»). Евклид реализует модули как типы. Потомками Евклида являются язык программирования Concurrent Euclid и язык программирования Тьюринга .
Внешние ссылки
[ редактировать ]- Б. В. Лэмпсон, Дж. Дж. Хорнинг, Р. Л. Лондон, Дж. Г. Митчелл и Г. Дж. Попек 1977. Отчет о языке программирования Euclid. Уведомления SIGPLAN 12, 2 (февраль 1977 г.), 1–79.
- Р. К. Холт, Д. Б. Вортман, Дж. Р. Корди и Д. Р. Кроу, 1978. Язык Евклида: отчет о ходе работы. В материалах ежегодной конференции 1978 г. (Вашингтон, округ Колумбия, США, 4–6 декабря 1978 г.), 111–115.
- Д.Б. Вортман и Дж.Р. Корди, 1981. Ранние опыты с Евклидом. В Proc. 5-я международная конференция по программной инженерии (Сан-Диего, Калифорния, США, 9–12 марта 1981 г.), 27–32.