Amiga E

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Amiga E
Класс языка

алгоритмическое, процедурное, объектно-ориентированное программирование

Появился в

1993

Автор

Wouter van Oortmerssen

Расширение файлов

.e

Выпуск

3.3a

Система типов

слабая, динамическая

Испытал влияние

Модула-2

Сайт

wouter.fov120.com/e/

Amiga E, часто называемый просто E — объектно-ориентированный язык программирования созданный Уотером ван Оортмерссеном (дат. Wouter van Oortmerssen) для ПК Amiga. Этот известный датский программист рассматривал создание собственного языка программирования как способ облегчить решение стоящих перед ним задач, что наложило определённый отпечаток на идеологию получившегося продукта. В дальнейшей своей карьере, Уотер ван Оортмерссен применил разработанную концепцию Amiga E при создании языков программирования Sheep для среды AmigaDE [1] и CryScript (также известный как DOG) использованный в разработке популярной игры Far Cry. [2]

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 написанного на самом Amiga E. (1.0)

2003: Выпущена финальная версия компилятора PowerD. (0.20)

2008: Выпущен первый публичный релиз компилятора PortablE транслирующего код Amiga E в Си. (r1)

2009: Выпущен первый публичный релиз компилятора PortablE для ОС Windows. (r4)

Реализации компиляторов[править | править код]

Amiga E (автор Wouter van Oortmerssen)[править | править код]

Первая реализация компилятора написанная на ассемблере m68k. Позволяет создавать приложения на языке E. Генерирует непосредственно машинный код 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;
  • Состояние: Стабильный, зрелый, находится в разработке, исходный код закрыт, свободно распространяется.

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, кроме того способен скомпилировать сам себя. Имеет значительное число расширений. Используется для кросс-платформенной разработки.

  • Платформы: Windows, AmigaOS (68k), AmigaOS 4 (PPC), AROS и MorphOS;
  • Назначение: Трансляция кода C++ и Amiga E;
  • Состояние: Стабильный, зрелый, находится в разработке, исходный код закрыт, свободно распространяется.

Примечания[править | править код]

  1. Eugenia Loli-Queru. "Интервью с Уотером ван Оортмерссеном про SHEEP" (англ.). osnews.com. OSNews (12 Октября 2001). Архивировано 29 июля 2012 года.
  2. Guildhall. Faculty (англ.). smu.edu. Southern Methodist University.
  3. Leif Salomonsson. E Compiler X. Архивировано 29 июля 2012 года.

Ссылки[править | править код]