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 Bearbeiten

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.[1] 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.[2]

Implementierungen Bearbeiten

Amiga E, von Wouter van Oortmerssen. Bearbeiten

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. Bearbeiten

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. Bearbeiten

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. Bearbeiten

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. Bearbeiten

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).[3]

PortablE, von Christopher Handley. Bearbeiten

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.[4]

E-VO / GEC, von Darren Coles. Bearbeiten

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.[5]

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. Wouter van Oortmerssen: The Amiga E v3.3a compiler. März 1999, abgerufen am 16. Februar 2021 (englisch).
  2. Tomasz Wiszkowski: CreativE - AmigaE compiler/linker. In: aminet.net. Urban Müller, 12. Juli 2001, abgerufen am 16. Februar 2021 (englisch).
  3. Leif Salomonsson: E Compiler X. Archiviert vom Original (nicht mehr online verfügbar) 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.@1@2Vorlage:Webachiv/IABot/blubbedev.net
  4. Christopher Handley: The PortablE language & compiler. Abgerufen am 25. April 2017.
  5. http://aminet.net/package/dev/e/evo