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:
PROC main()
WriteF('Hello, World!')
ENDPROC
Amiga E wurde benutzt, um den Kern der bekannten Amiga Grafiksoftware Photogenics zu erstellen.
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.
Der erste Compiler, geschrieben in M68K-Assembler. Unterstützt in E geschriebene Tools. Erzeugt direkt M68000 Maschinen-Code.
Basiert auf dem GPL-lizenzierten Quellcode von Amiga E und fügt dem Compiler viele Ergänzungen hinzu.
Basierend auf der Sprache Amiga E, aber nicht damit kompatibel, wegen Änderungen in der Syntax.
Komplett neu geschrieben in E. Benutzt externen Assembler und Linker.
Ein Compiler und Werkzeuge komplett neu geschrieben in E, kann sich selbst kompilieren, unterstützt multiple Ziele und fügt viele Ergänzungen hinzu.
Ein Meta-Kompilierer komplett neu geschrieben in E, kann sich selbst kompilieren, unterstützt multiple Ziele.
Basiert auf dem GPL-lizenzierten Quellcode von Amiga E bzw. GEC und fügt dem Compiler viele Ergänzungen hinzu.
Es basiert auf ECX mit der Absicht, Optimierung und neue Backends hinzuzufügen.