Введение

Реализация языка программирования BASIC для компьютеров Amiga.

Amiga Basic — это интерпретируемая реализация языка программирования BASIC для платформы Amiga, разработанная и написанная компанией Microsoft. Amiga Basic поставлялась вместе с версиями AmigaOS 1.1–1.3. Она пришла на смену ABasiC от MetaComCo, который был включен в AmigaOS 1.0 и 1.1, и была вытеснена ARexx — скриптовым языком, основанным на REXX, начиная с версии AmigaOS 2.0 и последующих версий.

История и описание

Amiga Basic предоставляла не только стандартный язык BASIC, но и стремилась обеспечить простой в использовании API для уникальных графических и звуковых возможностей Amiga. Команды OBJECT, например, позволяли легко создавать движущиеся объекты – спрайты и бобы, которые можно было рисовать во внешней программе для рисования, редакторе объектов, поставлявшемся с AmigaBASIC. Необычной особенностью языка было то, что он теоретически позволял вызывать подпрограммы, написанные на ассемблере; однако эта функция так и не заработала из-за ошибки, которая не обеспечивала правильного выравнивания инструкций ассемблера по границе слова, как того требовал процессор MC68000, используемый в Amiga. Журнал Compute!, популярное компьютерное издание, выходившее в период распространения Amiga Basic, публиковал множество программ для AmigaBASIC в своих статьях. Как правило, это были реализации простых программ, таких как примитивные игры, системные и файловые утилиты, а также вспомогательные программы, например, аналоговые часы и адресные книги. Amiga Basic устарела из-за несовместимости с AmigaOS 2.0 и аппаратными преемниками процессора Motorola 68000. Некоторые несовместимости были вызваны игнорированием рекомендаций по программированию, установленных Commodore. Однако было выпущено несколько компилируемых языков BASIC сторонних разработчиков для Amiga, которые могли компилировать программы Amiga Basic с минимальными изменениями, например A/C BASIC или Cursor (см. ниже). Некоторые из этих компилируемых BASIC продолжали работать с AmigaOS 2.0, и поскольку они компилировались, а не интерпретировались, они обычно работали значительно быстрее, чем оригинал. Хотя Amiga Basic была вытеснена ARexx в AmigaOS 2.0, эти два языка имели совершенно разные функции и возможности. К моменту выхода AmigaOS 2.0 изменились интересы программистов-любителей, и они стали больше заинтересованы в написании скриптов для существующих сторонних приложений, чем в создании новых программ с нуля. ARexx лучше соответствовал их потребностям, чем BASIC. Наряду с очень похожим BASIC от Microsoft для Macintosh, Amiga Basic стала первым интерпретатором BASIC от Microsoft, который не требовал использования номеров строк, вместо этого применяя подход «сверху вниз» для выполнения строк кода и метки для указания точки перехода инструкции GOTO. Однако программы, содержащие номера строк, могли выполняться; эти номера строк просто рассматривались как метки для управления потоком выполнения. Это также был первый интерпретируемый язык Microsoft, способный вызывать функции операционной системы и динамические библиотеки с помощью команды LIBRARY. Например: LIBRARY Graphics.library – эта команда вызывает стандартную библиотеку графики Amiga, из которой можно вызывать функции.