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[уточнить].

## Содержание

* 1 История
* 2 Реализации и диалекты
* 2.1 Реализация Amiga E (автор Wouter van Oortmerssen)
* 2.2 Диалект CreativE (автор Tomasz Wiszkowski)
* 2.3 Диалект PowerD (автор Martin Kuchinka)
* 2.4 Диалект YAEC (автор Leif Salomonsson)
* 2.5 Реализация ECX (автор Leif Salomonsson)
* 2.6 Реализация PortablE (автор Christopher Handley)
* 3 Примечания
* 4 Ссылки

## История

[править | править код]

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

* Платформы: 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. Дата обращения: 26 апреля 2011. Архивировано 16 июля 2011 года.
3. ↑ 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 (англ.)

Языки программирования

* История
* Хронология

* 1C
* Ада
* Алгол
* Ассемблер
* APL
* Бейсик
* Си
* C++
* C#
* D
* Delphi
* Кобол
* Erlang
* F#
* Форт
* Фортран
* Go
* Groovy
* Haskell
* Java
* JavaScript
* Julia
* Kotlin
* Лисп
* Lua
* MATLAB
* Оберон
* Objective-C
* OCaml
* Паскаль
* Perl
* PL/SQL
* PHP
* Python
* Racket
* Ruby
* Rust
* Scala
* UNIX Shell
* Smalltalk
* Swift
* Visual Basic .NET
* Zig