The 7 Most Popular Amiga Programming Languages


Ever wondered which programming languages were used on the well beloved Amiga Computer? Here are the most popular Amiga Programming Languages.

The most used programming languages on the Amiga are:

  • Assembly Language (different Assemblers)
  • C (different compilers)
  • Several BASIC dialects
  • Pascal

There are also:

  • Forth (JForth)
  • FORTRAN
  • A true Amiga Language called ARexx
  • others

The following article gives a quick summary of each language and its properties on the Amiga. The last Part covers other Amiga Languages, where some of them are just recently updated.

#1 – Assembly Language

The Processor in the Amiga is the Motorola 68000. So the Assembly Language on the Amiga is called 68000 or 68k Assembly. It is a low level programming language that is not machine language, but as close as it gets without really programming in Machine Code. Assembly Language uses instructions, also called mnemonics.

The great advantage of the assembly language is its fast execution speed. The number processor cycles of each instruction is known at compile time. The programmer also knows the occupied memory. You can write very optimized programs this way.

One major disadvantage is the slow development speed. It takes many Assembly instructions to do comparatively simple things. So it takes the developer longer to program. Another big disadvantage is that the code only assembles on the system that it was written for. In other words, it is missing portability. Assembly language is not beginner friendly either.

Despite the disadvantages, assembly language was widely used on the Amiga. Besides games there are many so called demo programs (or demos). These demos want to squeeze the last bit of performance out of the Amiga and show impressive graphics and animation.

There are several assemblers for the Amiga. The most popular of them are:

#2 – C

Dennis Ritchie developed C between 1969 and 1973 in the Bell Laboratories. The goal was to re-implement the UNIX Kernel in C. This was done in 1973 for a PDP11 Computer. Since then C was ported to a lot of systems, including the Amiga.

One the one hand it is a high level programming language. It uses many words of the english language and emphasizes concepts of structured programming. One can develop structures, loops and decisions very quickly (compared to assembler). On the other hand, the programmer can still access the memory directly (for good or bad).

The major advantage of the C language is portability. Back in the late 80ies there were still many platforms around and one had to port a game had to each platform individually. With C the developer could use most of the source code on another platform and “just” had to recompile it. This saved a lot of time, and the developer did not have to deal with different languages.

Development speed compared to Assembly language is also a big thing. One would still write more or less machine friendly code, but in much less development time. The downside of C is that there are many pitfalls, especially for the inexperienced programmer.

There are many C compilers on the Amiga. The most popular are:

If you want to know how to get the best of both worlds, C and Assembly Language, you can read my article Link C and 68000 Assembly together on the Amiga. (opens in new tab)

#3 – BASIC

BASIC is not a language per se, it is more a family of general purpose high level programming languages. Where Assembly was designed for the system and C was designed for portability, BASIC emphasized the ease of use.

BASIC is an acronym and stands for Beginner All-purpose Symbolic Instruction Code. The original BASIC dates back to 1964. In the 1970s several BASIC dialects evolved due to the rising number of microcomputer systems.

The biggest advantages are that it is very beginner friendly. And because there was a BASIC version for every system, it was well known and had a large community. The major disadvantage is the execution speed. BASIC programs are multiple times slower than their Assembly or C counterparts. Therefore you cannot write very comlex or graphic intense programs with reasonable execution speed.

The latter is primarily true for programs that were not compiled but rather interpreted at runtime by an interpreter.

Because of its simplicity, BASIC was often used to teach programming for beginners. And despite the fact that the popularity dropped at the beginning 1990s, it still is used more or less widely today. Microsoft introduced Visual BASIC in 1991 and through several iterations it became part of the Microsoft .NET Framework. Now its better known as VB.NET.

On the Amiga there were a lot of BASIC dialects, the most popular among them were:

#4 – PASCAL

Niklaus Wirth designed Pascal and released it in 1970. He named the language after the French mathematician Blaise Pascal. The beginning can be traced back to the programming language ALGOL 60. He improved the ALGOL W derivative and this eventually became Pascal.

Pascal is a imperative and procedural programming language. The focus lays on structured programming and data strucuring. There are implementations on most of the then upcoming microcomputers of the 80s, including the Amiga. The most popular dialect later on ws called Turbo Pascal.

Pascal also has a Object Oriented Version: Object Pascal. It later evolved to Delphi which is still used for developing Microsoft Windows applications.

Pascal is a very clean language. In comparison to C its much more readable and therefore easier to maintain. Each so called unit of the program has its own identifiers. An identifier does not have to be unique across the whole program or wrapped by a namespace. It has fast compilers and Pascal programs tend to use little memory.

If you are programming at system level then Pascal may be too cumbersome. The same is true for graphics programming. So it may not be the best programming language for game development.

On the Amiga, there were four major implementations of Pascal:

#5 – Forth (JForth)

This could be the first programming language on this list that you never heard of. Forth is a procedural, stack-based programming language. It is also an interactive environment (think Python). Another language released in 1970, designed by Charles H. “Chuck” Moore.

The Language Forth combines a compiler with an integrated environment, or shell. The use interacts via subroutines, called words, with the system. Words can be defined, tested, redefined, and debugged without recompiling or restarting the whole program. All syntactic elements, including variables and basic operators, are defined as words.

The reason why you may never heard of it is that it has a niche in astronomical and space applications. Another big area of application is in Embedded Systems. It is, for instance, present in the Open Firmware boot loader.

The major advantage is the interaction with the hardware. The paradigm of Inverse Polish Notation may not be the most intuitive for programmers, though.

JForth is the Amiga implementation of Forth. JForth was sold commercially by Delta Research from 1986 to 1993. It is now available as Freeware here:

#6 – FORTRAN

Fortran is a general-purpose, compiled imperative programming language. Its main purpose is numeric computaion and scientific computing. This makes clear that you won’t find that many games programmed in FORTRAN.

The designer is John Backus. He developed FORTRAN together with IBM in in the 1950s and released it in 1957. It is to this day the primary language for some of the most intensive super-computing tasks. It is also the basis of many other programming languages, including BASIC.

There are FORTRAN 77 compilers for the Amiga:

  • BCF
  • ABSoft

#7 – ARexx

It may not be the obvious choice for this list, but there are a few interesting things worth mentioning about this language. ARexx was developed in 1987 by William S. Hawes. It implements the Rexx standard for Amiga Systems. The language itself was developed in the 68000 Assembly Language. The manual states the following:

ARexx was developed on an Amiga 1000 computer with 512k bytes of memory and two floppy disk drives. The language prototype was developed in C using Lattice C, and the production version was written in assembly-language using the Metacomco assembler. The documentation was created using the TxEd editor, and was set in TeX using AmigaTeX. This is a 100% Amiga product.

– Excerpt from the ARexx Manual

The main purpose was to increase the possibilities of the computer by combining the capacities of various programs. You can write an ARexx Script to get data from a Database Application and pass it to a Spreadsheet Application. One can find more information about this amazing concept can here:

Other Amiga Programming Languages

The are several other Programming Languages that have a compiler on the Amiga Platform. Even though the Amiga is out of production and obsolete there are still languages that get their compiler or interpreter. For example, there is a Python port called Amiga Python which was updated in 2005. There is also an implementation of the Java Runtime Environment for Amiga, called JAmiga, last updated in 2015.

This listing can go on forever. C++, Python, Ruby or Pearl were not mentioned, and so weren’t many others. But at least now you know the most popular Amiga Programming Languages, especially in the late 1980s and early 1990s.

Marco Lieblang

Professional Programmer since 2003, passionate Programmer since the mid 90's. Developing in many languages from C/C++ to Java, C#, Python and some more. And I also may know a bit about Assembly Languages and Retro Systems.

Recent Posts