HOME

TheInfoList



OR:

Amiga E is a
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
created by Wouter van Oortmerssen on the
Amiga Amiga is a family of personal computers produced by Commodore International, Commodore from 1985 until the company's bankruptcy in 1994, with production by others afterward. The original model is one of a number of mid-1980s computers with 16-b ...
computer. The work on the language started in 1991 and was first released in 1993. The original incarnation of Amiga E was being developed until 1997, when the popularity of the Amiga platform dropped significantly after the bankruptcy of Amiga intellectual property owner Escom AG. According to Wouter van Oortmerssen:
"It is a general-purpose programming language, and the Amiga implementation is specifically targeted at programming system applications. ..ref name=":0">"
In his own words:
"Amiga E was a tremendous success, it became one of the most popular programming languages on the Amiga."


Overview

Amiga E combines features from several languages but follows the original
C programming language C (''pronounced'' '' – like the letter c'') is a general-purpose programming language. It was created in the 1970s by Dennis Ritchie and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of ...
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 In computing, a script is a relatively short and simple set of instructions that typically automation, automate an otherwise manual process. The act of writing a script is called scripting. A scripting language or script language is a programming ...
), very readable
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
, flexible
type system In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a ''type'' (for example, integer, floating point, string) to every '' term'' (a word, phrase, or other set of symbols). Usu ...
, powerful module system,
exception handling In computing and computer programming, exception handling is the process of responding to the occurrence of ''exceptions'' – anomalous or exceptional conditions requiring special processing – during the execution of a program. In general, an ...
(not C++ variant), and
Object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
. Amiga E was used to create the core of the popular Amiga graphics software Photogenics.


"Hello, World!" example

A
"Hello, World!" program A "Hello, World!" program is usually a simple computer program that emits (or displays) to the screen (often the Console application, console) a message similar to "Hello, World!". A small piece of code in most general-purpose programming languag ...
in Amiga E looks like this:


History

1993: The first public release of Amiga E; the first release on Aminet was in September, although the programming language source codes were published on the Amiga E mailing list at least since May. 1997: The last version of Amiga E is released (3.3a). 1999: Unlimited
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
executable of Amiga E is released. 1999: Source code of the Amiga E compiler in
m68k The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and w ...
assembler is released under the GPL.


Implementations and derivatives


Discontinued


Amiga E

The first compiler. It was written by Wouter van Oortmerssen in m68k assembler. It supports tools that are written in E. The compiler generates 68000
machine code In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonb ...
directly. :*Platforms:
AmigaOS AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions ...
and compatibles. :*Targets: Originally AmigaOS with 68000 CPU, but has modules that can handle 68060 architecture. :*Status: Stable, mature, discontinued, source available,
freeware Freeware is software, often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the free ...
.


CreativE

It was created by Tomasz Wiszkowski. It is based on the GPL sources of Amiga E and adds many extensions to the compiler. :*Platforms: AmigaOS and compatibles. :*Targets: Like Amiga E, plus some limited support for the last generations of m68k CPUs. :*Status: Stable, mature, discontinued in 2001, source available, freeware.


PowerD

It was created by Martin Kuchinka, who cooperated with Tomasz Wiszkowski in the Amiga development group "The Blue Suns." It is derived from the Amiga E and CreativE languages but is incompatible with the former due to syntax changes. :*Platforms: AmigaOS and compatibles. :*Targets: AmigaOS 3.0 or newer; at least 68020 CPU+ FPU or
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
(PPC); and 4MB of RAM. :*Status: Stable, mature,
closed source Proprietary software is software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing the software or modi ...
, freeware. The project has been dormant since 2010.


YAEC

Written from scratch in Amiga E by Leif Salomonsson and published in 2001. It uses an external assembler and linker. The project was abandoned in favor of ECX. :*Platforms: AmigaOS and compatibles. :*Targets: AmigaOS 3.0 with 68020 CPU and FPU. :*Status: Obsolete, unfinished, discontinued,
closed source Proprietary software is software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing the software or modi ...
, freeware.


ECX

A compiler and tools written from scratch by Leif Salomonsson in Amiga E, with internal functions developed in m68k and PPC assemblers. It can compile itself, supports multiple targets, and adds many extensions. :*Platforms: AmigaOS compatibles and derivatives. :*Targets: AmigaOS 3.0, AmigaOS 4, and MorphOS with m68k or PPC architecture. :*Status: Stable, mature, open source, freeware. The project has been dormant since 2013.


RE

RE was created by Marco Antoniazzi in PowerD. It is not fully compatible with the Amiga E. :*Platforms: AmigaOS and compatibles. :*Targets: AmigaOS 3.0 68020 CPU+FPU; PPC. :*Status: Stable, closed source, freeware. Dormant since 2008.


Under development


Portabl E

Created by Christopher Handley. It is a meta-compiler written from scratch in Amiga E. It can compile itself and supports multiple targets. :*Platforms:
AmigaOS AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions ...
(m68k),
AmigaOS 4 AmigaOS 4 (abbreviated as OS4 or AOS4) is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code developed by Commodore International, Commodore, and partially on version 3.9 develop ...
(PPC), AROS,
MorphOS MorphOS is an AmigaOS-like operating system designed for Power and PowerPC based computers. The core, based on the Quark microkernel, is proprietary, although several libraries and other parts are open source, such as the Ambient desktop. The p ...
,
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, and
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, :*Targets: C++ and Amiga E. The Amiga E code is compatible with CreativE, and with proper settings, it can be compatible with the ECX compiler. :*Status: Stable, mature, under development, closed source, freeware.


E-VO

It is a derivative of the Amiga E compiler, written by Darren Coles. It expands upon the original language and incorporates features from the CreativE compiler. :*Platforms: AmigaOS and compatibles. :*Targets: Like Amiga E; AmigaOS with
68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector ...
and 020+ CPU. :*Status: Stable, mature, under development, source available, freeware.


References


External links


Amiga E home page

A Beginner's Guide to Amiga E
md a Published by Jason R. Hulance in 1997
The original Amiga E manual (for v3.3a)
– Compiler manual written by Wouter van Oortmerssen.
Amiga E mailing list

Amiga E packages on Aminet

PortablE home page (a free Windows & Amiga-compatibles implementation)

E-VO compiler on GitHub

How the code in Amiga E
– Written by Jan Stötzer, a member of Amiga Zentrum Thueringen and Neuhaus13 groups. The tutorial was published in 1994 on Aminet in AmigaGuide document format; lha archive.
Amiga E object-oriented framework
- Published by Damien Guichard in 1996.
Absolute Beginners Amiga E code examples
– Published by Edward Farrow in 1997.
Beginner's Guide to Amiga E
– Published by Jason R. Hulance in 1997; AmigaGuide format.
System programming with Amiga E
– Published by Damien Guichard in 2007; AmigaGuide format. {{AmigaOS Procedural programming languages Amiga development software AmigaOS 4 software MorphOS software AROS software Programming languages created in 1993 Systems programming languages