Amiga E (часто называемый просто E) — объектно-ориентированный язык программирования, созданный Ваутером ван Оортмерссеном (нидерл. Wouter van Oortmerssen) для ПК Amiga. Этот известный голландский программист рассматривал создание собственного языка программирования как способ облегчить решение стоящих перед ним задач, что наложило определённый отпечаток на идеологию получившегося продукта. В дальнейшей своей карьере Ваутер ван Оортмерссен применил разработанную концепцию Amiga E при создании языков программирования Sheep для среды AmigaDE [1] и CryScript (также известный как DOG) использованный в разработке популярной игры Far Cry. [2]
Amiga E | |
---|---|
Класс языка | алгоритмическое, процедурное, объектно-ориентированное программирование |
Появился в | 1993 |
Автор | Wouter van Oortmerssen |
Разработчик | Воутер ван Оортмерссен[вд] |
Расширение файлов | .e |
Выпуск | 3.3a |
Система типов | слабая, динамическая |
Испытал влияние | Модула-2 |
Сайт | wouter.fov120.com/e/ |
Amiga E вобрал в себя черты множества самых разнообразных языков программирования, но в фундаментальных вопросах следует идеологии языка программирования Си[уточнить]. Отличительные особенности языка: возможность быстрой компиляции (что позволяет ему конкурировать со скриптовыми языками), гибкая система типов, развитая система модулей, поддержка обработки исключений и объектно-ориентированное программирование.
Типичная программа "Hello, world!" на Amiga E выглядит так:
PROC main() WriteF('Hello, World!') ENDPROC
Amiga E использовался при создании ядра популярного на Amiga растрового процессора изображений Photogenics и расширяемого просмотрщика текстов EvenMore[уточнить].
История
править1993: Первый публичный релиз коммерческого компилятора Amiga E от автора языка.
1997: Последняя версия коммерческого компилятора Amiga E от автора языка. (3.3a)
1999: Выпущен первый сторонний компилятор Amiga E реализующий полный функционал этого языка. (Ссылка)
1999: Исходные коды компилятора Amiga E написанного на ассемблере m68k выпущены под лицензией GPL. (Ссылка)
1999: Выпущена первая версия компилятора CreativE основанного на исходном коде компилятора Amiga E.
1999: Выпущена первая версия компилятора PowerD транслирующего расширенный код Amiga E в Си, с последующей компиляцией посредством GCC. (0.01)
2000: Выпущена первая версия компилятора YAEC (сокращение от англ. Yet Another E Compiler - ещё один компилятор E). (1.0)
2001: Выпущена финальная версия компилятора CreativE. (2.12.3) (Ссылка)
2002: Выпущена финальная версия компилятора YAEC. (2.5d)
2002: Выпущена первая версия компилятора ECX (The E Compiler X) написанного на самом Amiga E. (1.0)
2003: Выпущена финальная версия компилятора PowerD. (0.20)
2008: Выпущен первый публичный релиз компилятора PortablE транслирующего код Amiga E в Си. (r1)
2009: Выпущен первый публичный релиз компилятора PortablE для ОС Windows. (r4)
2011: Выпущен компилятор ECX 2.00 поддерживающий AmigaOS 4 и MorphOS 2
2011: Выпущена доработанная версия PowerD (0.31) с поддержкой MorphOS 2 и WarpOS
2013: Выпущен компилятор ECX 2.3.1 ставший freeware, ключ больше не требуется
2013: Появляется порт ECX 2.3.1 собранный для AmigaOS4 и MorphOS 2
2016: Chris Handley портирует последнюю версию компилятора PortablE r6-beta на AmigaOS 4
Реализации и диалекты
правитьРеализация Amiga E (автор Wouter van Oortmerssen)
правитьПервая реализация написанная на ассемблере m68k. Генерирует непосредственно машинный код Motorola 680x0.
- Платформы: AmigaOS и совместимые;
- Назначение: AmigaOS для процессоров m68k.
- Состояние: Стабильный, зрелый, не поддерживается, исходный код доступен, свободно распространяется.
Диалект CreativE (автор Tomasz Wiszkowski)
правитьКомпилятор основан на исходниках компилятора Amiga E распространяемых под лицензией GPL и содержит множество расширений изначального синтаксиса.
- Платформы: AmigaOS и совместимые;
- Назначение: Компилятор подобный Amiga E и ограниченная поддержка разработчиков для устаревших процессоров MC68000;
- Состояние: Стабильный, зрелый, не поддерживается, исходный код доступен, свободно распространяется.
Диалект PowerD (автор Martin Kuchinka)
правитьОснован на языке Amiga E, но не совместим с ним из-за больших различий в синтаксисе.
- Платформы: AmigaOS и совместимые;
- Назначение: AmigaOS 3.0, процессоры 68020 c FPU или PPC (WarpOS), MorphOS 2;
- Состояние: Стабильный, зрелый, находится в разработке, исходный код закрыт, свободно распространяется.
Диалект YAEC (автор Leif Salomonsson)
правитьКомпилятор написан на Amiga E. Использует внешние ассемблер и компоновщик;
- Платформы: AmigaOS и совместимые;
- Назначение: AmigaOS 3.0, процессоры 68020 c FPU;
- Состояние: Устаревший, не законченный, не поддерживается, исходный код закрыт, свободно распространяется.
Реализация ECX (автор Leif Salomonsson)
правитьКомпилятор написанный на Amiga E. Имеет значительное число расширений. Используется для кросс-платформенной разработки.
- Платформы: AmigaOS, AmigaOS 4 и MorphOS;
- Назначение: AmigaOS 3.0 (процессоры 68020), AmigaOS 4, MorphOS;
- Состояние: Стабильный, зрелый, находится в разработке, исходный код закрыт (ранее был открыт), shareware (ранее был свободен).[3]
Реализация PortablE (автор Christopher Handley)
правитьМета-компилятор написанный на Amiga E. Имеет значительное число расширений. Используется для кросс-платформенной разработки.
Примечания
править- ↑ Eugenia Loli-Queru. "Интервью с Ваутером ван Оортмерссеном про SHEEP" (англ.) . osnews.com. OSNews (12 октября 2001). Архивировано из оригинала 29 июля 2012 года.
- ↑ Guildhall. Faculty (англ.) . smu.edu. Southern Methodist University. Дата обращения: 26 апреля 2011. Архивировано 16 июля 2011 года.
- ↑ Leif Salomonsson. E Compiler X . Архивировано из оригинала 29 июля 2012 года.
Ссылки
править- Домашняя страница автора Amiga E (англ.)
- Описание среды компилятора AmigaE 3.3a (рус.)
- Авторское руководство программиста в Amiga E (для v3.3a) (англ.)
- Руководство начинающего программиста в Amiga E (англ.)
- Домашняя страница автора компилятора ECX (свободная реализация для PowerPC) (англ.)
- Домашняя страница автора компилятора PortablE (свободные реализации для Windows и Amiga) (англ.)
- Список рассылки Amiga E (англ.)