Euler - это язык программирования, созданный Никлаусом Виртом и Гельмутом Вебером, задуманный как расширение и обобщение АЛГОЛА 60 . [1] [2] [3] Целью дизайнеров было создать язык, который:
- Проще, но гибче, чем АЛГОЛ 60
- Полезно и обрабатывается с разумной эффективностью
- Можно определить со строгой формальностью
Парадигмы | Мультипарадигма : процедурная , императивная , структурированная |
---|---|
Семья | АЛГОЛ Вирт |
Разработано | Никлаус Вирт Гельмут Вебер |
Разработчики | Стэнфордский университет ETH Zurich |
Впервые появился | 1965 |
Печатная дисциплина | динамичный |
Сфера | Лексический |
Под влиянием | |
АЛГОЛ 60 |
Доступные источники указывают, что Эйлер действовал к 1965 году.
Обзор
Эйлер использует общую концепцию типа данных . В Эйлере массивы , процедуры и переключатели не являются величинами, которые объявляются и называются идентификаторами: в отличие от Алгола , они не являются величинами на том же уровне, что и переменные . Скорее, эти величины находятся на уровне числовых и логических констант . Таким образом, помимо традиционных числовых и логических констант, Эйлер вводит несколько дополнительных типов:
Все константы могут быть присвоены переменным, которые имеют ту же форму, что и в ALGOL, но для которых не указаны фиксированные типы: Эйлер использует динамическую типизацию . Кроме того, процедура может выдавать значение любого типа при выполнении, и этот тип может изменяться от одного вызова процедуры к другому .
Точно так же элементы списка могут иметь значения любого типа, и они могут отличаться от элемента к элементу в списке. Итак, когда элементы списка являются метками, получается переключатель. Если элементы являются процедурами, получается список процедур, который недоступен в АЛГОЛе 60. Если элементы являются самими списками, то получается общая древовидная структура.
Эйлер предоставляет общие операторы проверки типов и преобразования типов.
Смотрите также
Рекомендации
- ↑ Вирт, Никлаус ; Вебер, Гельмут (1966). «Эйлер: обобщение АЛГОЛА и его формальное определение: Часть I». Коммуникации ACM . 9 (1): 13–25.
- ^ Вирт, Никлаус ; Вебер, Гельмут (1966). «Эйлер: обобщение АЛГОЛА и его формальное определение: Часть II». Коммуникации ACM . 9 (2): 89–99.
- ^ Кристофер, Томас В. (1997). Эйлер: эксперимент в определении языка (PDF) (Отчет). Иллинойсский технологический институт.