# Amiga E

Amiga E, häufiger auch einfach E, ist eine Programmiersprache, die von Wouter van Oortmerssen auf dem Amiga entwickelt wurde. Er ist dazu übergegangen diese SHEEP-Programmiersprache für die neue AmigaDE-Plattform und die CryScript-Sprache (auch bekannt als DOG) während der Entwicklung des bekannten Computerspiels Far Cry weiterzuentwickeln.
Amiga E ist eine Kombination vieler Eigenschaften einer ganzen Anzahl von Sprachen, aber folgt in Bezug auf grundlegende Konzepte sehr stark der originalen Programmiersprache C. Die Hauptvorteile von Amiga E sind schnelles Kompilieren (wodurch es möglich ist, es als Ersatz für Skriptsprachen zu benutzen), sehr gut lesbarer Quellcode, ein flexibles Typ-System, ein starkes Modul-System, Exception-Behandlung (keine C++-Variante) und Objektorientierte Programmierung.
Ein Hello-World-Programm in Amiga E sieht folgendermaßen aus:
Amiga E wurde benutzt, um den Kern der bekannten Amiga Grafiksoftware Photogenics zu erstellen.

## Geschichte

Im Jahr 1993 wurde Amiga E zum ersten Mal veröffentlicht, 1997 wurde die letzte Version (3.3a) veröffentlicht. Ein unlimitierter Compiler für Amiga E wurde 1999 herausgegeben. Kurz darauf wurde auch der Quellcode des Amiga-E-Compilers für den M68K-Assembler unter der GPL, die erste Version von CreativE und von PowerD veröffentlicht.
ECX (1.0) wurde im Jahr 2002 zum ersten Mal veröffentlicht, PortablE im Jahr 2008.

## Implementierungen
### Amiga E, von Wouter van Oortmerssen.

Der erste Compiler, geschrieben in M68K-Assembler. Unterstützt in E geschriebene Tools. Erzeugt direkt M68000 Maschinen-Code.
   * Plattformen: AmigaOS und kompatible.
   * Ziele: AmigaOS mit 68000 CPU.
   * Status: Stabil, ausgereift, eingestellt, Quellcode verfügbar, Freeware.

### CreativE, von Tomasz Wiszkowski.

Basiert auf dem GPL-lizenzierten Quellcode von Amiga E und fügt dem Compiler viele Ergänzungen hinzu.
   * Plattformen: AmigaOS und kompatible.
   * Zielsysteme: Wie Amiga E + limitierte Unterstützung zur Generierung von Code, der Rücksicht auf ältere M680x0 CPUs nimmt.
   * Status: Stabil, ausgereift, eingestellt, Quellcode verfügbar, Freeware.

### PowerD, von Martin Kuchinka.

Basierend auf der Sprache Amiga E, aber nicht damit kompatibel, wegen Änderungen in der Syntax.
   * Plattformen: AmigaOS und kompatible.
   * Zielsysteme: AmigaOS 3.0 68020 CPU+FPU, PPC.
   * Status: Stabil, ausgereift, wird weiterentwickelt, Closed Source, Freeware.

### YAEC, von Leif Salomonsson.

Komplett neu geschrieben in E. Benutzt externen Assembler und Linker.
   * Plattformen: AmigaOS und kompatible.
   * Zielsysteme: AmigaOS 3.0 mit 68020 CPU and FPU.
   * Status: obsolet, unvollendet, eingestellt, Closed Source, freeware.

### ECX, von Leif Salomonsson.

Ein Compiler und Werkzeuge komplett neu geschrieben in E, kann sich selbst kompilieren, unterstützt multiple Ziele und fügt viele Ergänzungen hinzu.
   * Plattformen: AmigaOS, AmigaOS 4 und MorphOS.
   * Zielsysteme: AmigaOS 3.0 68020, AmigaOS 4, MorphOS.
   * Status: Stabil, ausgereift, wird weiterentwickelt, Closed Source (war Open Source), Shareware (war Freeware).

### PortablE, von Christopher Handley.

Ein Meta-Kompilierer komplett neu geschrieben in E, kann sich selbst kompilieren, unterstützt multiple Ziele.
   * Plattformen: Windows, AmigaOS (68k), AmigaOS 4 (PPC), AROS und MorphOS.
   * Zielsysteme: C++ und Amiga E.
   * Status: Stabil, ausgereift, wird weiterentwickelt, Closed Source, Freeware.

### E-VO / GEC, von Darren Coles.

Basiert auf dem GPL-lizenzierten Quellcode von Amiga E bzw. GEC und fügt dem Compiler viele Ergänzungen hinzu.
   * Plattformen: AmigaOS und kompatible.
   * Zielsysteme: Wie Amiga E.
   * Status: Stabil, ausgereift, wird weiterentwickelt, Quellcode verfügbar, Freeware.