Amiga programming languages

Last updated

This article deals with programming languages used in the Amiga line of computers, running the AmigaOS operating system and its derivatives AROS and MorphOS. It is a split of the main article Amiga software. See also related articles Amiga productivity software, Amiga music software, Amiga Internet and communications software and Amiga support and maintenance software for other information regarding software that runs on Amiga.

Contents

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:

For many years Amiga lacked a complete integrated development environment (IDE). This changed in 2005–2006 when Cubic IDE was created, based on the modular text editor GoldED.

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, HiSoft Basic, AMOS BASIC, Blitz BASIC, PureBasic

C-compilers: Aztec C, DICE C, GNU gcc, VBCC, Lattice C, SAS/C, Storm C, HiSoft C++

PASCAL: Amiga Pascal, Kick-Pascal, High Speed Pascal, Free Pascal

Other languages: Forth (JForth [1] and Multi-Forth), FORTRAN, Amiga Logo, Oberon, Perl 5, Ruby, Amiga E, FALSE, PortablE, Python (AmigaPython [2] ), REBOL, ARexx, Scheme (SCM, [3] Gambit, [4] UMB Scheme, [5] SIOD [6] ), GNU C++, Modula-2, Benchmark Modula 2, Eiffel, Java (JAmiga), Draco, and ML (Caml Light [7] ).

Descriptions of some languages

ABasiC was developed by MetaComCo and was bundled with AmigaOS 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 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:

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 was a professional assembler program that became the de facto standard for assembly programming. It could also be used for Cross-platform 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.

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

Application Building Tools

Some Amiga programs were complete application tools. Examples were: CanDO, Amiga Vision, Shoot'Em-Up Construction Kit also known as SEUCK, 3D Construction Kit, 3D Construction Kit II 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). Other tools to build independent applications or "self loading projects" were Scala Multimedia and Hollywood Designer.

CanDO 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" approach to programming which became famous with Visual C++ and Visual Basic 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.

Amiga Vision is like CanDO for the Amiga. It is a VISUAL "application building" tool made by Commodore for the launch of Amiga 3000, 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.

Related Research Articles

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop and NetBeans, do not.

Pascal is an imperative and procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named after French mathematician, philosopher and physicist Blaise Pascal.

Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the Pascal programming language running on CP/M, CP/M-86, and DOS. It was originally developed by Anders Hejlsberg at Borland, and was notable for its extremely fast compilation. Turbo Pascal, and the later but similar Turbo C, made Borland a leader in PC-based development tools.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

This is a "genealogy" of programming languages. Languages are categorized under the ancestor language with the strongest influence. Those ancestor languages are listed in alphabetic order. Any such categorization has a large arbitrary element, since programming languages often incorporate major ideas from multiple sources.

The Visual Component Library (VCL) is a visual component-based object-oriented framework for developing the user interface of Microsoft Windows applications. It is written in Object Pascal.

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on an Android smartphone is a cross compiler.

<span class="mw-page-title-main">Delphi (software)</span> General-purpose programming language and a software product

Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language or block coding is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

<span class="mw-page-title-main">Graphical user interface builder</span> Software development tool

A graphical user interface builder, also known as GUI designer or sometimes RAD IDE, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in the source code, with no visual feedback until the program is run. Such tools are usually called the term RAD IDE.

Optimized Systems Software (OSS) was a company that produced disk operating systems, programming languages with integrated development environments, and applications primarily for the Atari 8-bit family of home computers. OSS was best known for their enhanced versions of Atari DOS, Atari BASIC, and the Atari Assembler Editor, all of which were substantially improved over Atari's products, as well as the Action! programming language. OSS also sold some software for the Apple II.

HiSoft Systems is a software company based in the UK, creators of a range of programming tools for microcomputers in 1980s and 1990s.

Intuition is the native windowing system and user interface (UI) engine of AmigaOS. It was developed almost entirely by RJ Mical. Intuition should not be confused with Workbench, the AmigaOS desktop environment and spatial file manager, which relies on Intuition for handling windows and input events. Workbench uses Intuition to produce displays and AmigaDOS to interact with filing system: AmigaDOS is built on Exec.

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

<span class="mw-page-title-main">Hollywood (programming language)</span> 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, MorphOS, WarpOS, AROS, Windows, macOS, Linux, Android, and iOS. Hollywood has an inbuilt cross compiler that can automatically save executables for all platforms supported by the software. The generated executables are completely stand-alone and do not have any external dependencies, so they can also be started from a USB flash drive. An optional add-on also allows users to compile projects into APK files.

References

  1. "JForth". SoftSynth.
  2. "AmigaPython".
  3. Jaffer, Aubrey. "The SCM Implementation of Scheme".
  4. "Fish-disk 764 content: Gambit_Terp". Amiga Fish Disk database. Archived from the original on 2017-08-07. Retrieved 2017-07-22.
  5. "UMB Scheme: Portable Scheme from UMass/Boston". CMU Artificial Intelligence Repository.
  6. "dev/lang/SIOD". Aminet.
  7. "Caml Light v0.73 for Amiga". The Caml Language.