AmigaE, 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 popular computer game Far Cry. Although development ended in 1997, AmigaE still has a huge following since it is easy to understand, powerful and fast. AmigaE 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. AmigaE'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 AmigaE looks like:
PROC main()
WriteF('Hello, World!')
ENDPROC
AmigaE was used to create the core of the popular Amiga graphics software Photogenics.
History
1993: The first public release of AmigaE. 1997: The last version of AmigaE is released (3.3a). 1999: Unlimited compiler executable of AmigaE is released. LINK 1999: Source code of the AmigaE compiler in M68K assembler is released under the GPL license. LINK 1999: First version of CreativE is released. Based on Sourcecode of AmigaE. 2000: First version of YAEC (Yet Another E Compiler) is released. (1.0)
2001: Final version of CreativE (2.12.3) is released. LINK 2002: Final version of YAEC is released (2.5d). 2002: First public release of ECX. (1.0)
Implementations
- AmigaE, by Wouter van Oortmerssen.
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, open source, freeware.
- CreativE, by Tomasz Wiszkowski.
Based on the GPL sources of AmigaE and adds many extensions to the compiler.
Platforms: AmigaOS and compatibles.
Targets: Like AmigaE + some limited support for generating code that takes advantage of later M680x0 CPUs.
Status: Stable, mature, discontinued, open source, freeware.
- YAEC, by Leif Salomonsson.
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.
A compiler and tools written from scratch in E, can compile itself, supports multiple targets and adds many extensions.
Platforms: AmigaOS and compatibles.
Targets: AmigaOS 3.0 68020 CPU+FPU, MorphOS PPC.
Status: Stable, mature, under development, open source, freeware.


