Amiga E

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.

Description

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

1993: The first public release of Amiga E.[1]

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

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

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

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

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)

2008: First public release of RE. (0.9)

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

Implementations

Amiga E, 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.[5]
  • Status: Stable, mature, discontinued, source available, freeware.

CreativE, by Tomasz Wiszkowski.

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.

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.

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

RE, by Marco Antoniazzi.

Based on the AmigaE language, but not fully compatible, with some changes in syntax and additions, inspired by PowerD.

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

PortablE, by Christopher Handley.

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

  • Platforms: Windows, AmigaOS (68k), AmigaOS 4 (PPC), AROS and MorphOS.
  • Targets: C++ and Amiga E.
  • Status: Stable, mature, under development, closed source, freeware.
gollark: ```Features:- Fortunes/Dwarf Fortress output/Chuck Norris jokes on boot (wait, IS this a feature?)- (other) viruses (how do you get them in the first place? running random files like this?) cannot do anything particularly awful to your computer - uninterceptable (except by crashing the keyboard shortcut daemon, I guess) keyboard shortcuts allow easy wiping of the non-potatOS data so you can get back to whatever nonsense you do fast- Skynet (rednet-ish stuff over websocket to my server) and Lolcrypt (encoding data as lols and punctuation) built in for easy access!- Convenient OS-y APIs - add keyboard shortcuts, spawn background processes & do "multithreading"-ish stuff.- Great features for other idio- OS designers, like passwords and fake loading (set potatOS.stupidity.loading [time], set potatOS.stupidity.password [password]).- Digits of Tau available via a convenient command ("tau")- Potatoplex and Loading built in ("potatoplex"/"loading") (potatoplex has many undocumented options)!- Stack traces (yes, I did steal them from MBS)- Backdoors- er, remote debugging access (it's secured, via ECC signing on disks and websocket-only access requiring a key for the other one)- All this useless random junk can autoupdate (this is probably a backdoor)!- EZCopy allows you to easily install potatOS on another device, just by sticking it in the disk drive of another potatOS device!- fs.load and fs.dump - probably helpful somehow.```
gollark: ```PotatOS OS/Conveniently Self-Propagating System/Sandbox/Compilation of Useless Programs We are not responsible for- headaches- rashes- persistent/non-persistent coughs- virii- backdoors- spinal cord sclerosis- hypertension- cardiac arrest- regular arrest, by police or whatever- angry mobs with or without pitchforks- death- computronic discombobulation- loss of data- gain of data- frogsor any other issue caused directly or indirectly due to use of this product. Best viewed in Internet Explorer 6 running on a Difference Engine emulated under MacOS 7.```
gollark: Possibly...
gollark: Maybe...
gollark: Er... no.

References

  1. McCreary, Charles R. (October 1993). "Amiga E: Public Domain Programming Gem". Amazing Computing For The Commodore Amiga. Vol. 8 no. 10. PiM Publications. pp. 20–21. ISSN 1053-4547.
  2. Wouter van Oortmerssen. "The Amiga E v3.3a compiler". Retrieved 2012-02-04.
  3. Wouter van Oortmerssen. "The Amiga E v3.3a compiler source". Retrieved 2012-02-04.
  4. Tomasz Wiszkowski. "CreativE - AmigaE compiler/linker". Retrieved 2012-02-04.
  5. Vintenat, Lionel (April 1995). "Amiga E: un challenger pour la programmation du systeme". AmigaNews (in French). No. 78. NewsEdition. pp. 52–53. ISSN 1164-1746.
  6. Leif Salomonsson. "E Compiler X". Archived from the original on 18 September 2010. Retrieved 2010-08-13.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.