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.
Geschichte
Im Jahr 1993 wurde Amiga E zum ersten Mal veröffentlicht, in 1997 wurde die letzte Version (3.3a) veröffentlicht. Ein unlimitierter Compiler für Amiga E wurde in 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.
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.
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.
Weblinks
Einzelnachweise
- ↑ Wouter van Oortmerssen: The Amiga E v3.3a compiler. März 1999, abgerufen am 16. Februar 2021 (englisch).
- ↑ Tomasz Wiszkowski: CreativE - AmigaE compiler/linker. In: aminet.net. Urban Müller, 12. Juli 2001, abgerufen am 16. Februar 2021 (englisch).
- ↑ Leif Salomonsson: E Compiler X. (Nicht mehr online verfügbar.) Archiviert vom am 18. September 2010; abgerufen am 13. August 2010. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ Christopher Handley: The PortablE language & compiler. Abgerufen am 25. April 2017.
- ↑ http://aminet.net/package/dev/e/evo