Amiga programming languages
Encyclopedia
This article deals with programming languages used in the Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

 line of computers, running the AmigaOS
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...

 operating system and its derivatives AROS
Aros
Aros may refer to:*Aros , a river in J. R. R. Tolkien's Middle-earth legendarium*AROS Research Operating System, a free software implementation of AmigaOS* Aros, the original Viking name of Aarhus, the second largest city in Denmark...

 and MorphOS
MorphOS
MorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...

. It is a split of the main article Amiga software
Amiga software
Amiga software covers a wide range of software for the Amiga computer, both productivity and games, commercial, freeware and hobbyist. The Amiga software market was particularly active in the late 1980s and early 1990s but has since the period 1996/1999 dwindled into almost only a hobbyist...

.
See also related articles Amiga productivity software
Amiga productivity software
With the term "productivity software" is usually intended a category of tools and programs aimed at producing results dedicated to a specific purpose or job and literally it is the kind of tools and applications that are used to produce documents, presentations, databases, charts and graphs,...

, Amiga music software
Amiga music software
This article deals with music software created for the Amiga line of computers and covers the AmigaOS operating system and its derivates AROS and MorphOS and is a split of main article Amiga software....

, Amiga Internet and communications software
Amiga Internet and communications software
This article is a split of main article Amiga software and refers to any communication and internet software that run on Amiga line of computers.See also related articles Amiga productivity software, Amiga music software, Amiga programming languages, Amiga support and maintenance software for other...

 and Amiga support and maintenance software
Amiga support and maintenance software
Support and maintenance software are those programs that perform service utilities on a computer. These services could be various ones, such as format media to be used with a specific filesystem, diagnose any failure that could occur on that media, recover the data after the failure of the media,...

 for other information regarding software that runs on Amiga.

History

[This section to be developed]

[cut from amiga software page: to be inserted in a complete historical discussion and made more intellegible for the readers]

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. Especially games could achieve much faster and smoother game-play, but at the cost of compatibility with newer Amiga models.

[/cut from Amiga software page]

Cross-platform libraries and programming facilities

Several cross-platform libraries and facilities are available for Amiga:
  • MUI
    Magic User Interface
    The Magic User Interface is an object-oriented system by Stefan Stuntz to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the outfit according to personal taste....

     and ReAction
    ReAction GUI
    ReAction GUI it is the name of the widget toolkit engine that is used in AmigaOS 3.5-4.1.It is an evolution of ClassACT, which is an object oriented system of classes that enhanced the aspect of the Workbench 2.0 GUI of AmigaOS.- History :...

     are Amiga standard Object Oriented systems for building graphical interfaces.
  • SDL
    Simple DirectMedia Layer
    Simple DirectMedia Layer is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices....

     libraries are widely used in all modern Amiga systems
  • Cairo
    Cairo (graphics)
    cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends...

     support is built into AmigaOS 4.1
  • Anti-Grain Geometry
    Anti-Grain Geometry
    Anti-Grain Geometry is a high-quality 2D rendering library written in C++. It features anti-aliasing and sub-pixel resolution.The library is operating system independent and renders to an abstract memory object. It comes with examples interfaced to the X Window System, Microsoft Windows, Mac OS X,...

     http://os4depot.net/index.php?function=showfile&file=development/library/graphics/agg2sdk_gpl.lha
  • CLib2 is a portable ISO C
    ANSI C
    ANSI C refers to the family of successive standards published by the American National Standards Institute for the C programming language. Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.-History and outlook:The first...

     (1994) runtime library
    Runtime library
    In computer programming, a runtime library is a special program library used by a compiler, to implement functions built into a programming language, during the execution of a computer program...

     for the Amiga.
  • Allegro Library
    Allegro library
    Allegro is a free and open source 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 fixed-point and floating-point...

     has been ported to AmigaOS 4
    AmigaOS 4
    AmigaOS 4, , is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code, and partially on version 3.9 developed by Haage & Partner...

     http://os4depot.net/index.php?function=search&tool=simple&f_fields=allegro.
  • an Amiga port of wxWidgets
    WxWidgets
    wxWidgets is a widget toolkit for creating graphical user interfaces for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes...

     is being worked on wxWidgets-AOS.
  • Gallium3D
    Gallium3D
    Gallium3D is a free software library for 3D graphics device drivers being developed by VMware, after they acquired Tungsten Graphics – the original authors....

     is now part of AROS
    Aros
    Aros may refer to:*Aros , a river in J. R. R. Tolkien's Middle-earth legendarium*AROS Research Operating System, a free software implementation of AmigaOS* Aros, the original Viking name of Aarhus, the second largest city in Denmark...

     Icaros Desktop Live Distro.
  • OpenAL
    OpenAL
    OpenAL is a cross-platform audio API. It is designed for efficient rendering of multichannel three dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL.- History :...

     free software
    Free software
    Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

     cross-platform audio API
    Application programming interface
    An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

    , 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
    FreeType
    FreeType is a software library written in C that implements a font rasterization engine. It is used to render text on to bitmaps and provides support for other font-related operations.-Details:...

     library in various projects, included its version release of Origyn Web Browser
    Origyn Web Browser
    Origyn Web Browser is a web browser that is synchronized with WebKit and sponsored by web enabler Pleyo. OWB provides a meta-port to an abstract platform with the aim of making porting to embedded or lightweight systems quicker and easier...

    .
  • FLTK
    FLTK
    FLTK is a cross-platform GUI library developed by Bill Spitzak and others. Made with 3D graphics programming in mind, it has an interface to OpenGL, but it is also suitable for general GUI programming....

     "Fast, Light Toolkit" version for AmigaOS 4.0 is almost complete and it offers all the functionality of the official 1.1.6 version, including the standard and plastic scheme.


Since it was born, Amiga lacked for years of a complete integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 (IDE). This fact changed in 2005–2006 when it was created Cubic IDE
Cubic IDE
Cubic IDE is a modular development environment for AmigaOS and MorphOS. Its central editor is GoldED 8, which supports file type centric configuration....

, based on the modular text editor GoldED.

Brief list of languages available on Amiga

Assemblers: ASM-One Macro Assembler
ASM-One Macro Assembler
ASM-One is a former commercial integrated Macro assembler for the Amiga computer and Motorola 680x0 processor.- Program features :ASM-One features:* fully integrated development package with fullscren-editor, assembler, monitor and debugger...

, Devpac Assembler, Metacomco Macro Assembler, SEKA Assembler

Basic dialects: AmigaBASIC from Microsoft, ABasic from Commodore (developed by Metacomco
MetaComCo
MetaComCo was a computer systems software company started in 1981 and based in Bristol, England by Peter Mackeonis and Derek Budge.MetaComCo's first product was an MBASIC compatible interpreter for IBM PC's, which was licensed by Peter Mackeonis to Digital Research in 1982, and issued as the...

, AC Basic Compiler, GFA BASIC
GFA BASIC
GFA BASIC is a dialect of the BASIC programming language, by Frank Ostrowski. The first version was finished in 1986. In the mid and late 80s, it became very popular for the Atari ST homecomputer range . Later, ports for the Commodore Amiga, DOS and Windows were marketed...

, HiSoft Basic, AMOS BASIC
AMOS BASIC
AMOS BASIC is a dialect of the BASIC programming language implemented on the Amiga computer. AMOS BASIC was published by Europress Software and originally written by François Lionet with Constantin Sotiropoulos.- History :...

, Blitz BASIC
Blitz BASIC
Blitz BASIC refers to the programming language dialect that was interpreted by 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...



C-compilers: Aztec C
Aztec C
Aztec C is a C compiler for a variety of older computing platforms, including MS DOS, Apple II DOS 3.3 and ProDOS, Commodore 64, early Macintosh, CP/M-80 and Amiga.- History :...

, DICE C, GNU gcc, VBCC
VBCC
vbcc is the name of a portable and retargetable ISO/ANSI C compiler.It supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999....

, Lattice C
Lattice C
Lattice C was the first C compiler for MS-DOS on the IBM PC, in 1982. It was ported to many other platforms, such as mainframes , minicomputers , workstations , OS/2, the Commodore Amiga, Atari ST and the Sinclair QL.The compiler was subsequently repackaged by Microsoft under a distribution...

, SAS/C, Storm C, HiSoft C++

PASCAL: Amiga Pascal, Kick-Pascal, High Speed Pascal, Free Pascal
Free Pascal
Free Pascal Compiler is a free Pascal and Object Pascal compiler.In addition to its own Object Pascal dialect, Free Pascal supports, to varying degrees, the dialects of several other compilers, including those of Turbo Pascal, Delphi, and some historical Macintosh compilers...



other languages: JForth, FORTRAN
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

, Amiga Logo
Logo (programming language)
Logo is a multi-paradigm computer programming language used in education. It is an adaptation and dialect of the Lisp language; some have called it Lisp without the parentheses. It was originally conceived and written as functional programming language, and drove a mechanical turtle as an output...

, Oberon
Oberon (programming language)
Oberon is a programming language created in 1986 by Professor Niklaus Wirth and his associates at ETH Zurich in Switzerland. It was developed as part of the implementation of the Oberon operating system...

, Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

, Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

, Amiga E, FALSE
FALSE
FALSE is an esoteric programming language designed by Wouter van Oortmerssen in 1993, named after his favorite Boolean value. It is a small Forth-like stack-oriented language, with syntax designed to make the code inherently obfuscated, confusing, and unreadable. It is also noteworthy for having a...

, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, REBOL
REBOL
REBOL is a cross-platform data exchange language and a multi-paradigm dynamic programming language originally designed by Carl Sassenrath for network communications and distributed computing. The language and its official implementation, which is a proprietary freely redistributable software are...

, ARexx
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...

, GNU C++, Modula-2
Modula-2
Modula-2 is a computer programming language designed and developed between 1977 and 1980 by Niklaus Wirth at ETH Zurich as a revision of Pascal to serve as the sole programming language for the operating system and application software for the personal workstation Lilith...

, Benchmark Modula 2.

Descriptions of some languages

ABasiC was developed by MetaComCo
MetaComCo
MetaComCo was a computer systems software company started in 1981 and based in Bristol, England by Peter Mackeonis and Derek Budge.MetaComCo's first product was an MBASIC compatible interpreter for IBM PC's, which was licensed by Peter Mackeonis to Digital Research in 1982, and issued as the...

 and was bundled with AmigaOS
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...

 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
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 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 kind of approach in programming. Microsoft then added this feature to all its development language tools.
As AmigaBASIC was bundled with so many Amiga's 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 in regard to using subroutines (gosub) and sound
  • the editor being written for NTSC
    NTSC
    NTSC, named for the National Television System Committee, is the analog television system that is used in most of North America, most of South America , Burma, South Korea, Taiwan, Japan, the Philippines, and some Pacific island nations and territories .Most countries using the NTSC standard, as...

     and so not using the full screen on PAL
    PAL
    PAL, short for Phase Alternating Line, is an analogue television colour encoding system used in broadcast television systems in many countries. Other common analogue television systems are NTSC and SECAM. This page primarily discusses the PAL colour encoding system...

     screens (a TV standard very common in Europe
    Europe
    Europe is, by convention, one of the world's seven continents. Comprising the westernmost peninsula of Eurasia, Europe is generally 'divided' from Asia to its east by the watershed divides of the Ural and Caucasus Mountains, the Ural River, the Caspian and Black Seas, and the waterways connecting...

    )
  • 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
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 and included editor, assembler, linker and debugger.

Devpac Assembler by HiSoft was a professional assembler program that became the de facto standard for assembly programming. It was also able to be used for Cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

 development for any other Motorola 68k-based device, such as the Atari ST. It was common for programs to be jointly written for the Amiga and Atari using Devpac on the Amiga. However, since the Atari ST was closest to the "lowest common denominator" of the two machines, programs would be tested on and built primarily for the ST.

IDE (Integrated Development Environment)

Until recent times Amiga lacked of real IDE programs. All the development were made with advanced text editors such as Emacs, MicroEmacs, Cygnus Editor and Gold Ed (Gold Editor), which were capable to highlight syntax of various kind of code programming languages. Goldd Ed then evolved in a complete IDE environment commercial program called Cubic IDE
Cubic IDE
Cubic IDE is a modular development environment for AmigaOS and MorphOS. Its central editor is GoldED 8, which supports file type centric configuration....

.

Actually most used IDE programs are the commercial program Cubic IDE and the commercial program CodeBench that sometimes is released with limited functions as free-licence version.

Application Building Tools

Some Amiga programs were not languages, but complete application tools. Among these we remember: CanDO
CANDO
In 2000, the City of Columbia, South Carolina received funding through the U.S. Department of Justice for the Community Incentive Funding program providing community grants. Through the success of this program, the Columbia Assisting Neighborhood Development Opportunities program was born...

, Amiga Vision, Shoot'Em-Up Construction Kit
Shoot'Em-Up Construction Kit
Shoot'Em-Up Construction Kit was a "construction kit" for the Commodore 64, Amiga and Atari ST created by Sensible Software and published by Outlaw in 1987. It allowed the user to make simple shoot 'em ups by drawing sprites and backgrounds and editing attack patterns...

 also known as SEUCK, 3D Construction Kit
3D Construction Kit
3D Construction Kit , 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 released in 1991 on multiple platforms. The game originally retailed for £24.99 in the United Kingdom...

, 3D Construction Kit II
3D Construction Kit II
3D Construction Kit II , also known as 3D Construction Kit 2.0, is a utility for creating 3D worlds in Freescape...

 and in some degree The Director
The Director
The Director is a novel by United States author Henry Denker, published in 1971.The novel is about an ambitious young film director, named Jock Finley, who uses two prominent film stars Carr and Daisy Donnel to rebuild his already damaged career...

 (BASIC-like language aimed at multimedia, presentations and animations) and AMOS itself could be considered application building tools, more than simple programming languages (even if SEUCK was aimed at games, 3D Construction series, could handle also some sort of 3D VRML
VRML
VRML is a standard file format for representing 3-dimensional interactive vector graphics, designed particularly with the World Wide Web in mind...

). Other tools that can build independent applications or "self loading projects" were Scala Multimedia and actually Hollywood Designer
Hollywood (programming language)
Hollywood is a commercially distributed programming language developed by Andreas Falkenhahn which mainly focuses on the creation of multimedia-oriented applications. Hollywood is available for AmigaOS , AmigaOS 4 , MorphOS, WarpOS, AROS and Windows...

.

CanDO
CANDO
In 2000, the City of Columbia, South Carolina received funding through the U.S. Department of Justice for the Community Incentive Funding program providing community grants. Through the success of this program, the Columbia Assisting Neighborhood Development Opportunities program was born...

 was one the first application building tools, capable of creating programs for the Amiga that were totally independent (compiled or full binary). It is based on a visual interface, after the style of modern "visual programming" approach to programming which became famous with Visual C and Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...

 from Microsoft. Although CanDO has nothing in common with Visual C and Visual Basic, it is a program mouse driven with an icon approach, and its internal programming is really like an interactive flow chart of functions, just like VISUAL programming tools from Microsoft.

Like CanDO on Amiga, there is Amiga Vision. It is a VISUAL "application building" tool made by Commodore itself in the times of the launch of Amiga 3000
Amiga 3000
The Commodore Amiga 3000, or A3000, was the third major release in the Amiga computer family. Released in June 1990, it features improved processing speed, improved rendering of graphics, and a new revision of the operating system...

, 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 all graphically, on a page in which the user could arrange visually all the icons each one 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.

External Links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK