Amiga E

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

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

Появился в:

1993

Автор(ы):

Wouter van Oortmerssen

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

.e

Релиз:

3.3a

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

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

Сайт:

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;
  • Состояние: Стабильный, зрелый, находится в разработке, исходный код закрыт, свободно распространяется.

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

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