Amiga Ee

AmigaE (see http://wouter.fov120.com/e/index.html) is a programming language by WouterVanOortmerssen, who is possibly the most prolific language designer on this planet (see http://wouter.fov120.com/proglang/index.html).

Although there exists a theoretical platform-independent language specification called E, it has only been implemented for one platform (AmigaDos, for which the implementation is called AmigaE). AmigaE was developed gradually between 1991 and 1997, after which development essentially ceased.

Despite being abandoned about 7 years ago, it's elegantly simple design & easily readable syntax still make it stand out today as an example of what programming languages should be like. One of it's best features is it's brutally simple OOP model, which still manages to provide pretty much all the useful features of OOP (and none of the traditional cruft); this also makes it ideal for learning OOP.

You can imagine it as having the readable syntax of Pascal, the low-level features of C, some of the high-level features of Lisp, and the elegant simplicity of Java. In more depth:

Something that AmigaE shows is that what a language leaves out is just as important as what it includes; unnecessary features make a language harder to use, the source code harder to understand, and it more likely to be abused by a poor (or lazy) programmer. In this respect Java is very much following in the footsteps of AmigaE (albeit unintentionally).

Being so old, AmigaE is not without it's flaws (all of which could easily be fixed): I will write more if people are interested.

-- ChrisHandley

Do you have some good references for places where examples of Amiga E code can be found? Maybe add an entry to HelloWorldInManyProgrammingLanguages?

Entry added as suggested!

There is a ton of AmigaE code freely available from the Aminet (http://de.aminet.net/aminet/dirs/dev_e.html), but unfortunately 99.9 percent of this code is either (a) before OOP was added to AmigaE, (b) tiny ultra-specific classes that are of no use to anybody, or (c) written by people who really don't understand OOP (so what's new?:-) .

So sadly, there is a total utter lack of any useful OOP classes for free, which basically means you'll have to write your own at the moment. At some point in the future I hope to change that myself.

I could make available my now obsolete (and not very good) linked-list class as a big example of AmigaE code, but it is at the stage where it is too big to easily maintain, so that I don't know how useful it'd really be... A quick check shows it is 500 lines of code.

-- Chris Handley

EditText of this page (last edited June 5, 2012) or FindPage with title or text search