Amiga E

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Amiga E, or very often simply E, is a programming language created by Wouter van Oortmerssen on the Amiga. He has since moved on to develop the SHEEP programming language for the new AmigaDE platform and the CryScript language (also known as DOG) used during the development of the video game Far Cry.

Amiga E is a combination of many features from a number of languages, but follows the original C programming language most closely in terms of basic concepts. Amiga E's main benefits are fast compilation (allowing it to be used in place of a scripting language), very readable source code, flexible type system, powerful module system, exception handling (not C++ variant) and Object oriented programming.

A "hello world" program in Amiga E looks like:

  PROC main()
     WriteF('Hello, World!')
  ENDPROC

Amiga E was used to create the core of the popular Amiga graphics software Photogenics.

History[edit]

1993: The first public release of Amiga E.

1997: The last version of Amiga E is released (3.3a).

1999: Unlimited compiler executable of Amiga E is released.[1]

1999: Source code of the Amiga E compiler in M68K assembler is released under the GPL.[2]

1999: First version of CreativE is released. Based on Sourcecode of Amiga E.

1999: First version of PowerD is released. (0.01)

2000: First version of YAEC (Yet Another E Compiler) is released. (1.0)

2001: Final version of CreativE (2.12.3) is released.[3]

2002: Final version of YAEC is released (2.5d).

2002: First public release of ECX. (1.0)

2003: Final version of PowerD is released. (0.20)

2008: First public release of PortablE. (r1)

2009: First public release of PortablE for Microsoft Windows. (r4)

Implementations[edit]

Amiga E, by Wouter van Oortmerssen.[edit]

The first compiler, written in M68k assembler. Support tools written in E. Generates M68000 machine code directly.

  • Platforms: AmigaOS and compatibles.
  • Targets: AmigaOS with 68000 CPU.
  • Status: Stable, mature, discontinued, source available, freeware.

CreativE, by Tomasz Wiszkowski.[edit]

Based on the GPL sources of Amiga E and adds many extensions to the compiler.

  • Platforms: AmigaOS and compatibles.
  • Targets: Like Amiga E + some limited support for generating code that takes advantage of later M680x0 CPUs.
  • Status: Stable, mature, discontinued, source available, freeware.

PowerD, by Martin Kuchinka.[edit]

Based on the AmigaE language, but not compatible with it due to changes in syntax.

  • Platforms: AmigaOS and compatibles.
  • Targets: AmigaOS 3.0 68020 CPU+FPU, PPC.
  • Status: Stable, mature, under development, closed source, freeware.

YAEC, by Leif Salomonsson.[edit]

Written from scratch in E. Uses external assembler and linker.

  • Platforms: AmigaOS and compatibles.
  • Targets: AmigaOS 3.0 with 68020 CPU and FPU.
  • Status: Obsolete, unfinished, discontinued, closed source, freeware.

ECX, by Leif Salomonsson.[edit]

A compiler and tools written from scratch in E, can compile itself, supports multiple targets and adds many extensions.

  • Platforms: AmigaOS, AmigaOS 4 and MorphOS.
  • Targets: AmigaOS 3.0 68020, AmigaOS 4, MorphOS.
  • Status: Stable, mature, under development, closed source (was open source), shareware (was freeware).[4]

PortablE, by Christopher Handley.[edit]

A meta-compiler written from scratch in E, can compile itself, supports multiple targets.

References[edit]

  1. ^ Wouter van Oortmerssen. "The Amiga E v3.3a compiler". Retrieved 2012-02-04. 
  2. ^ Wouter van Oortmerssen. "The Amiga E v3.3a compiler source". Retrieved 2012-02-04. 
  3. ^ Tomasz Wiszkowski. "CreativE - AmigaE compiler/linker". Retrieved 2012-02-04. 
  4. ^ Leif Salomonsson. "E Compiler X". Archived from the original on 18 September 2010. Retrieved 2010-08-13. 

External links[edit]