AMOS (язык программирования)

AMOS (часто, AMOS BASIC) — первоначально проприетарный язык программирования высокого уровня для ПК Amiga, основанный на синтаксисе BASIC. Продукт был впервые выпущен в издательстве Europress Software и разрабатывался Франсуа Лионетом (François Lionet  (фр.)) из компании Constantin Sotiropoulos.

AMOS
Класс языка императивный, процедурный
Тип исполнения интерпретируемый, компилируемый
Появился в 1990
Разработчик Франсуа Лионет и Constantin Sotiropoulos
Расширение файлов .amos .abk
Система типов статическая
Диалекты AMOS, Easy AMOS, AMOS Professional
Испытал влияние BASIC
Лицензия BSD-подобная лицензия
Сайт AMOS and STOS

ИсторияПравить

AMOS является потомком STOS BASIC для Atari ST появившимся на Amiga в 1990 году (через 2 года после STOS на Atari ST). Основным конкурентом для нового языка стал Blitz BASIC от компании Acid Software. AMOS и Blitz BASIC сильно отличались от других диалектов BASIC на разных платформах тем, что позволяли легко создавать довольно требовательное мультимедийное программное обеспечение, написанное понятным и хорошо структурированным кодом, использующее множество высокоуровневых функций для загрузки и воспроизведения изображений, анимаций, звуков и музыки самыми разными способами.

Первые версии AMOS являлись интерпретатором BASIC, который обладал недостатками характерными для всех интерпретируемых языков. Однако, даже в качестве интерпретатора AMOS оказался самым производительным среди интерпретируемых языков на Amiga. Это подтверждалось тем, что расширение языка AMOS 3D позволило писать 3D-игры работающие даже на классической нерасширенной Amiga 500+ вышедшей в 1991 году и имеющей процессор mc68000@7,14 МГц. Позже был разработан оптимизирующий компилятор языка AMOS, который ещё больше увеличил производительность создаваемых с его помощью приложений. Ещё одной причиной популярности языка у пользователей стала возможность использования в коде AMOS включений на языке ассемблера m68k. Это позволило писать критичные с точки зрения производительности участки приложений наиболее производительным способом и привело к появлению библиотек таких включений.[1]

Чтобы упростить анимацию спрайтов, AMOS включает в себя как подмножество язык AMAL (AMOS Animation Language) программы на котором выполняются независимо от выполнения основного кода написанного на AMOS.[2] Это позволяет осуществлять независимое управление эффектами происходящими на экране и выводить градиентные заливки. Фактически, сценарии на языке AMAL создают т.н. CopperLists, это небольшие подпрограммы выполняемые чипом Agnus входящим в чипсет классической Amiga (OCS, ECS, AGA). Таким образом, обработка эффектов и градиентов поддерживается аппаратно и выполняется в реальном времени.

Следом за AMOS, издательство Europress выпустила компилятор языка (AMOS Compiler) и две интегрированные среды разработки: Easy AMOS, нацеленную на начинающих программистов и AMOS Professional, содержащую дополнительную функциональность в редакторе кода, поддержку ARexx, новый пользовательский API и новые управляющие конструкции.

Основной сферой применения AMOS стало создание мультимедийного программного обеспечения, видеоигр (платформеры и графические приключения) и образовательное программное обеспечение. Язык оказался умеренно успешным в сообществе пользователей платформы Amiga. Простота использования сделала его особенно привлекательным для начинающих.

Возможно, самым большим недостатком AMOS, было его происхождение из мира компьютеров Atari ST, что повлекло за собой его несовместимость с функциями и интерфейсами операционной системы AmigaOS. Вместо того чтобы пользоваться развитыми системными средствами AmigaOS, язык программирования AMOS напрямую управляет компьютером, из-за чего приложения, написанные на нём, имеют нестандартный пользовательский интерфейс и имеют проблемы в совместимости с новыми компьютерами Amiga и расширениями для них.

В конце 2002 года все приложения AMOS (Easy AMOS, AMOS the creator, AMOS Professional, AMOS 3D, AMOS Compilers) стали доступны для свободного скачивания из архива Back to the Roots[3].

Настоящее времяПравить

Сегодня небольшое сообщество энтузиастов все ещё использует этот язык, он популярен для создания открытых и коммерческих ретро-игр для классических моделей Amiga, и представлен в архиве Aminet отдельной веткой «dev/amos».[4]

Исходный код AMOS был открыт примерно в 2001 году под лицензией BSD компанией Clickteam, в которой на тот момент работал программист создавший этот язык. Исходный код AMOS Professional был открыт и размещён в архиве Aminet их владельцем Пьетро Гиццони 1 декабря 2012 года, а также изменена форма права собственности на общественное достояние[5].

4 апреля 2019 года Франсуа Лионет объявил о выпуске AMOS2 на своем сайте amos2.org Архивная копия от 14 мая 2020 на Wayback Machine. Язык AMOS2 должен (по идее автора) стать заменой STOS и AMOS, и, используя JavaScript в качестве интерпретатора кода, позволить разработчику программировать на нём в браузере. Интегрированная среда разработки AMOS 2 получила название AOZ Studio. Исходный код AMOS2 является открытым.[6]

В 2020 году Франсуа Лионет выложил на GitHub оригинальные исходные коды AMOS Professional, в том виде, в каком они были на его винчестере в 1993 году.[7] Независимый разработчик Фредерик Кордье (Frederic Cordier  (фр.)) создал новую версию AMOS Professional AGA на основе оригинального исходного кода и выложил исходники на GitHub под лицензией MIT[8] В новой версии появились двойной буфер с поддержкой экранов до 256 цветов, поддержка до 8 бит-планов, поддержка 24-битной палитры и режима HAM8. По состоянию на 2021 год проект получил название AMOS Professional Unity, развивается и имеет официальный сайт.[9]

Программное обеспечениеПравить

Игры и приложения созданные с использованием AMOS:

См. такжеПравить

ПримечанияПравить

  1. The Creator, by Frangois Lionet, 1990, "AMOS Basic includes special facilities which allow you to combine assembly language routines with your Basic programs."
  2. Archived copy. Дата обращения: 22 ноября 2010. Архивировано 8 декабря 2010 года.
  3. Скачай себе AMOS. Дата обращения: 2 февраля 2021. Архивировано 5 февраля 2021 года.
  4. Aminet dev/amos branch
  5. Pianeta Amiga, DevCon, Download AMOS Pro sources!
  6. François Lionet - The current AMOS 2 project. Дата обращения: 6 декабря 2020. Архивировано 11 апреля 2022 года.
  7. Репозиторий AOZ-Studio/AMOS-Professional-Official. Дата обращения: 2 февраля 2021. Архивировано 19 марта 2021 года.
  8. Репозиторий AmiDARK/Amos-Professional-AGA-Releases. Дата обращения: 2 февраля 2021. Архивировано 1 января 2021 года.
  9. Официальный сайт AMOS Professional Unity (X2 version). Дата обращения: 2 февраля 2021. Архивировано 4 апреля 2021 года.
  10. Making of Flight of the Amazon Queen: A 20th Anniversary Retrospective. Gamasutra. Дата обращения: 1 января 2016. Архивировано 26 июня 2021 года.

СсылкиПравить