This article deals with programming languages used in the
Amiga
Amiga is a family of personal computers introduced by Commodore International, Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and sign ...
line of computers, running the
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 ...
operating system and its derivatives
AROS Aros may refer to:
* Aros (Middle-earth), a river in J. R. R. Tolkien's Middle-earth legendarium
* Aros, Mull, the location of Aros Castle, a ruined 13th-century castle on the Isle of Mull, Scotland
*AROS Research Operating System, a free software ...
and
MorphOS
MorphOS is an AmigaOS-like computer operating system (OS). It is a mixed proprietary and open source OS produced for the Pegasos PowerPC (PPC) processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale devel ...
. It is a split of the main article
Amiga software
Amiga software is computer software engineered to run on the Amiga personal computer. Amiga software covers many applications, including productivity, digital art, games, commercial, freeware and hobbyist products. The market was active in the l ...
. See also related articles
Amiga productivity software,
Amiga music software,
Amiga Internet and communications software and
Amiga support and maintenance software
Amiga support and maintenance software performs service functions such as formatting media for a specific filesystem, diagnosing failures that occur on formatted media, data recovery after media failure, and installation of new software for the Am ...
for other information regarding software that runs on Amiga.
History
Many games and software, especially in the early years of the Amiga were written to directly access the hardware instead of using the operating system for graphics and input. Consequently games could achieve much faster and smoother game-play, but at the cost of compatibility with newer Amiga models.
Cross-platform libraries and programming facilities
Several cross-platform libraries and facilities are available for Amiga:
*
MUI and
ReAction
Reaction may refer to a process or to a response to an action, event, or exposure:
Physics and chemistry
*Chemical reaction
*Nuclear reaction
*Reaction (physics), as defined by Newton's third law
* Chain reaction (disambiguation).
Biology and me ...
are Amiga standard
Object Oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
systems for building graphical interfaces.
*
SDL libraries are widely used in all modern Amiga systems
*
Cairo
Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the capital of Egypt and its largest city, home to 10 million people. It is also part of the largest urban agglomeration in Africa, the Arab world and the Middle East: The Greater Cairo met ...
support is built into AmigaOS 4.1 and MorphOS 3.0
*
Anti-Grain Geometry
Anti-Grain Geometry (AGG) is a 2D rendering graphics library written in C++. It features anti-aliasing and sub-pixel resolution. It is not a graphics library, per se, but rather a framework to build a graphics library upon.
The library is o ...
br>
CLib2is a portable
International Organization for Standardization, ISO C (1994)
runtime library
In computer programming, a runtime library is a set of low-level routines used by a compiler to invoke some of the behaviors of a runtime environment, by inserting calls to the runtime library into compiled executable binary. The runtime enviro ...
for the Amiga.
*
Allegro Library
Allegro is a software library for video game development. The functionality of the library includes support for basic 2D graphics, image manipulation, text output, audio output, MIDI music, input and timers, as well as additional routines for fix ...
has been ported to
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 ...
br>
and
MorphOS
MorphOS is an AmigaOS-like computer operating system (OS). It is a mixed proprietary and open source OS produced for the Pegasos PowerPC (PPC) processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale devel ...
br>
* an Amiga port of
wxWidgets
wxWidgets (formerly wxWindows) is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with min ...
is being worked o
wxWidgets-AOS
*
Gallium3D is now part of
AROS Aros may refer to:
* Aros (Middle-earth), a river in J. R. R. Tolkien's Middle-earth legendarium
* Aros, Mull, the location of Aros Castle, a ruined 13th-century castle on the Isle of Mull, Scotland
*AROS Research Operating System, a free software ...
Icaros Desktop Live Distro.
*
OpenAL
OpenAL (Open Audio Library) is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those ...
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
cross-platform audio
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
, designed for efficient rendering of multichannel three-dimensional positional audio, is available for MorphOS and any AmigaOS version 3 and later revisions.
* AROS and MorphOS support
FreeType library in various projects, included its version release of
Origyn Web Browser
Origyn Web Browser (OWB) is a discontinued web browser that was synchronized with WebKit and sponsored by the technology company Pleyo. OWB provides a meta-port to an abstract platform with the aim of making porting to embedded or lightweight sy ...
.
*
FLTKbr>
"Fast, Light Toolkit" version for AmigaOS4.0 is almost complete and it offers all the functionality of the official 1.1.6 version, including the standard and plastic scheme.
For many years Amiga lacked a complete
integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
(IDE). This changed in 2005–2006 when
Cubic IDE
Cubic IDE is a modular development environment ( IDE) for AmigaOS (versions 3.5 and 3.9 only) and MorphOS. Its central editor is GoldED 8, which supports file type centric configuration.
The specific features for developers include syntax highli ...
was created, based on the modular text editor
GoldED
GoldED was a popular message editor for FidoNet-compatible computer networks.
In 1998, Odinn Sørensen released the source code of GoldED and Goldware Utilities 3.x under GNU General Public License version 2, and the Goldware Library under GNU ...
.
Brief list of languages available on Amiga
Assemblers:
ASM-One Macro Assembler,
Devpac Assembler, Metacomco Macro Assembler, SEKA Assembler
Basic dialects: AmigaBASIC from Microsoft,
ABasic from Commodore (developed by
Metacomco),
AC Basic Compiler,
GFA BASIC
GFA BASIC is a dialect of the BASIC programming language, by Frank Ostrowski. The name is derived from the company ("GFA Systemtechnik GmbH"), which distributed the software. In the mid-1980s to the 1990s it enjoyed popularity as an advanced BA ...
,
HiSoft Basic
HiSoft Technology International Limited was a multinational information technology and business process outsourcing company headquartered in Dalian, China.
Founded in 1996, HiSoft was listed on the NASDAQ public exchange in 2010.
In November ...
,
AMOS BASIC
Amos or AMOS may refer to:
Arts and entertainment
* Amos Records, an independent record label established in Los Angeles, California, in 1968
* Amos (band), an American Christian rock band
* ''Amos'' (album), an album by Michael Ray
* ''Amos' ...
,
Blitz BASIC
Blitz BASIC is the programming language dialect of the first Blitz compilers, devised by New Zealand-based developer Mark Sibly. Being derived from BASIC, Blitz syntax was designed to be easy to pick up for beginners first learning to program. Th ...
,
PureBasic
PureBasic is a commercially distributed procedural computer programming language and integrated development environment based on BASIC and developed by Fantaisie Software for Windows, Linux, and macOS. An Amiga version is available, although i ...
C-compilers:
Aztec C
Aztec C is a now discontinued C compiler for MS-DOS, Apple II DOS 3.3 and ProDOS, Commodore 64, early Macintosh, CP/M-80, Amiga, and Atari ST.
History
Manx Software Systems of Shrewsbury, New Jersey, produced C compilers beginning in the 1 ...
,
DICE
Dice (singular die or dice) are small, throwable objects with marked sides that can rest in multiple positions. They are used for generating random values, commonly as part of tabletop games, including dice games, board games, role-playing ...
C, GNU gcc,
VBCC,
Lattice C
The Lattice C Compiler was released in June 1982 by Lifeboat Associates and was the first C compiler for the IBM Personal Computer. The compiler sold for $500 and would run on PC DOS or MS-DOS (which at the time were the same product with differe ...
,
SAS/C,
Storm C,
HiSoft C++
PASCAL:
Amiga Pascal,
Kick-Pascal,
High Speed Pascal,
Free Pascal
Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, witexception clausesthat allow static linking against i ...
Other languages:
Forth
Forth or FORTH may refer to:
Arts and entertainment
* ''forth'' magazine, an Internet magazine
* ''Forth'' (album), by The Verve, 2008
* ''Forth'', a 2011 album by Proto-Kaw
* Radio Forth, a group of independent local radio stations in Scotla ...
(JForth),
FORTRAN, Amiga
Logo
A logo (abbreviation of logotype; ) is a graphic mark, emblem, or symbol used to aid and promote public identification and recognition. It may be of an abstract or figurative design or include the text of the name it represents as in a wordm ...
,
Oberon
Oberon () is a king of the fairies in medieval and Renaissance literature. He is best known as a character in William Shakespeare's play ''A Midsummer Night's Dream'', in which he is King of the Fairies and spouse of Titania, Queen of the Fair ...
,
Perl
Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
5,
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum (aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapp ...
,
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) ...
,
FALSE
False or falsehood may refer to:
* False (logic), the negation of truth in classical logic
*Lie or falsehood, a type of deception in the form of an untruthful statement
* false (Unix), a Unix command
* ''False'' (album), a 1992 album by Gorefest
* ...
PortablE Python (AmigaPython),
REBOL,
ARexx
ARexx is an implementation of the Rexx language for the Amiga, written in 1987 by William S. Hawes, with a number of Amiga-specific features beyond standard REXX facilities. Like most REXX implementations, ARexx is an interpreted language. Prog ...
,
Scheme A scheme is a systematic plan for the implementation of a certain idea.
Scheme or schemer may refer to:
Arts and entertainment
* ''The Scheme'' (TV series), a BBC Scotland documentary series
* The Scheme (band), an English pop band
* ''The Schem ...
(
SCM,
Gambit
A gambit (from Italian , the act of tripping someone with the leg to make them fall) is a chess opening in which a player sacrifices with the aim of achieving a subsequent advantage.
The word '' gambit'' is also sometimes used to describe si ...
, UMB Scheme,
SIOD
Scheme In One Defun, or humorously Scheme In One Day (SIOD) is a programming language, a dialect of the language Lisp, a small-size implementation of the dialect Scheme, written in C and designed to be embedded inside C programs. It is notable ...
),
GNU C++,
Modula-2
Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
, Benchmark Modula 2, Eiffel,
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
(
JAmiga),
Draco
Draco is the Latin word for serpent or dragon.
Draco or Drako may also refer to:
People
* Draco (lawgiver) (from Greek: Δράκων; 7th century BC), the first lawgiver of ancient Athens, Greece, from whom the term ''draconian'' is derived
* ...
, and
ML (
Caml Light
Caml (originally an acronym for Categorical Abstract Machine Language) is a multi-paradigm programming language, multi-paradigm, general-purpose programming language which is a dialect of the ML (programming language), ML programming language fa ...
).
Descriptions of some languages
ABasiC was developed by
MetaComCo and was bundled with
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 ...
1.0 and 1.1.
AmigaOS 1.2 and 1.3 came bundled with AmigaBASIC (and a complete manual), which other than also being a BASIC dialect, was not related to ABasic. AmigaBASIC was the only programming language (and the only tool) made by
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
for the Amiga computer. Its best feature was the lack of numbering lines of code, which was the first attempt in 1985/1986 to create a new approach in BASIC programming. Microsoft then added this feature to all its development language tools. As AmigaBASIC was bundled with so many Amigas it was one of the most common used language in the early years.
Because Commodore wanted to save money, an update was never made for AmigaBasic. Due to its vast number of known bugs and limitations it was immediately discarded by professional developers in favour of other programming languages such as GFA BASIC, Aztec C, Lattice C, and then AMOS. These bugs and limitations included:
* crashes on newer processors and AmigaOS versions newer than 1.3 when using subroutines (gosub) and sound
* the editor being written for
NTSC
The first American standard for analog television broadcast was developed by National Television System Committee (NTSC)National Television System Committee (1951–1953), Report and Reports of Panel No. 11, 11-A, 12–19, with Some supplement ...
and so not using the full screen on
PAL
Phase Alternating Line (PAL) is a colour encoding system for analogue television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
screens (the TV standard in
Europe
Europe is a large peninsula conventionally considered a continent in its own right because of its great physical size and the weight of its history and traditions. Europe is also considered a subcontinent of Eurasia and it is located enti ...
)
* commercially released BASIC's provided better IDE's and better (faster) performance
SEKA assembler was a popular tool among game and demo programmers in the early years of the Amiga. Later Devpac and AsmOne became popular assemblers. SEKA, DevPac and AsmOne all were
IDE's and included editor, assembler, linker and debugger.
Devpac Assembler by
HiSoft
HiSoft Technology International Limited was a multinational information technology and business process outsourcing company headquartered in Dalian, China.
Founded in 1996, HiSoft was listed on the NASDAQ public exchange in 2010.
In November ...
was a professional assembler program that became the de facto standard for assembly programming. It could also be used for
Cross-platform
In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software ...
development for any other Motorola 68k-based device, such as the Atari ST. It was common for programs to be written jointly for the Amiga and Atari using Devpac on the Amiga. However, since the Atari ST was the less capable of the two machines, programs would be tested on and built primarily for the ST.
IDE (Integrated Development Environment)
Until 2005-6 Amiga lacked real IDE software (apart from the legacy IDE Storm C). Development was done with advanced text editors such as Emacs, MicroEmacs, Cygnus Editor and Gold Ed (Gold Editor), which could highlight syntax of various kind in programming languages. Gold Ed then evolved into a complete IDE environment commercial program called
Cubic IDE
Cubic IDE is a modular development environment ( IDE) for AmigaOS (versions 3.5 and 3.9 only) and MorphOS. Its central editor is GoldED 8, which supports file type centric configuration.
The specific features for developers include syntax highli ...
.
The most widely used IDE programs are the commercial program Cubic IDE and the commercial progra
CodeBenchthat is sometimes released with limited functions as free-licence version.
Application Building Tools
Some Amiga programs were complete application tools. Examples were:
CanDO Cando may refer to:
* Cando, North Dakota
* Cando, Saskatchewan
* Cando, Spain
* Cando (river), in San Marino
* CANDO, community project
* NEO CANDO
Northeast Ohio Community and Neighborhood Data for Organizing (NEO CANDO) is an online database ...
,
Amiga Vision,
Shoot'Em-Up Construction Kit also known as SEUCK,
3D Construction Kit
''3D Construction Kit'' ( US, Canada and Israel release title: ''Virtual Reality Studio''), also known as ''3D Virtual Studio'', is a utility for creating 3D worlds in Freescape. Developed by Incentive Software and published by Domark, it was ...
,
3D Construction Kit II
''3D Construction Kit II'' (released in North America as ''Virtual Reality Studio 2.0''), is a utility for creating 3D virtual worlds in Freescape. Developed by Incentive Software and published by Domark, it was released on November 10, 1992 ...
and to some degree The Director (BASIC-like language aimed at multimedia, presentations and animations). AMOS itself could be considered an application building tool and was more than a simple programming language (even if SEUCK was aimed at games. 3D Construction series could also handle some sorts of 3D
VRML
VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graph ...
). Other tools to build independent applications or "self loading projects" were
Scala Multimedia
Scala is a producer of multimedia software. It was founded in 1987 as a Norwegian company called Digital Visjon. It is headquartered near Philadelphia, Pennsylvania, USA, and has subsidiaries in Europe and Asia.
History
In 1987 a young Norwe ...
and
Hollywood Designer.
CanDO Cando may refer to:
* Cando, North Dakota
* Cando, Saskatchewan
* Cando, Spain
* Cando (river), in San Marino
* CANDO, community project
* NEO CANDO
Northeast Ohio Community and Neighborhood Data for Organizing (NEO CANDO) is an online database ...
was one of the first application building tools capable of creating programs for the Amiga that was totally independent (compiled or full binary). It is based on a visual interface, after the modern "
visual programming
In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VPL ...
" approach to programming which became famous with
Visual C++
Microsoft Visual C++ (MSVC) is a compiler for the C, C++ and C++/CX programming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both tr ...
and
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to:
* Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET
* Visual Basic (c ...
from Microsoft. Although CanDO has nothing in common with Visual C and Visual Basic, it is a mouse-driven program with an icon approach, and its internal programming is like an interactive flow chart of functions, just like the VISUAL programming tools. Eddie Churchill, one of the primary developers of CanDO, went on to help develop Borland's object-oriented Pascal IDE,
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracl ...
.
Amiga Vision is like CanDO for the Amiga. It is a VISUAL "application building" tool made by Commodore for the launch of
Amiga 3000
The Commodore Amiga 3000, or A3000, is a personal computer released by Commodore in June 1990. It features improved processing speed, improved graphics rendering, and a new revision of the operating system. It is the successor to the Amiga 2000 ...
, and it was released for free to all those who bought an Amiga 3000.
The Vision is more than a language aimed at multimedia, all icon driven, and the flow chart of the functions was realized graphically, on a page in which the user could arrange visually icons with each representing a program function. Vision saved files (projects) could not be used as pure binaries. From this point of view, the Amiga Vision "application building" tool was an interpreted language.
The AmigaBasic created by Microsoft, CanDO, and then Amiga Vision inspired Microsoft itself to an approach to Visual programming with their line of Visual programming languages, such as Visual Basic and others.
References
* Amiga Assember Insider Guide, Author: Paul Overaa,
* Mastering Amiga Assembler, Author: Paul Overaa,
* Amiga Machine Language (1987), subtitle: A practical guide to learning 68000 assembler language on the Amiga, Author: Stefan Dittrich, Publisher:
Abacus Software
The abacus (''plural'' abaci or abacuses), also called a counting frame, is a calculating tool which has been used since ancient times. It was used in the ancient Near East, Europe, China, and Russia, centuries before the adoption of the H ...
Inc.,
* The Amiga Hardware Reference Manual (3rd Ed.), published by
Addison Wesley
Addison-Wesley is an American publisher of textbooks and computer literature. It is an imprint of Pearson PLC, a global publishing and education company. In addition to publishing books, Addison-Wesley also distributes its technical titles throug ...
, (1991),
* The Amiga ROM Kernel Reference Manual: Includes and Autodocs, published by Addison Wesley (1991),
* The Amiga ROM Kernel Reference Manual: Libraries, published by Addison Wesley, (1991),
* The Amiga ROM Kernel Reference Manual: Devices (3rd ed.), published by Addison Wesley (1991),
External links
AmiWorld list of Amiga softwareItalian site reporting a list of all known productivity programs for Amiga.
The classicamiga Software DirectoryAn Amiga directory project aiming to catalogue all known Amiga software.
Benchmark Modula-2 manual
{{DEFAULTSORT:Amiga Programming Languages
*
Amiga
Lists of software
fr:Liste de logiciels Amiga