AMOS BASIC
L'AMOS BASIC è un linguaggio di programmazione basato sul BASIC sviluppato per i computer Commodore Amiga e pubblicato nel 1990 dalla Mandarin Software (poi divenuta Europress Software). Deriva dallo STOS BASIC (1988), scritto per i computer Atari ST da François Lionet e Constantin Sotiropoulos..
L'AMOS BASIC, come il suo diretto rivale Blitz BASIC, permetteva la creazione di applicazioni multimediali con relativa facilità, offrendo ai programmatori una serie di comandi e funzioni per manipolare animazioni, immagini e musica: per questo fu utilizzato soprattutto per realizzare videogiochi e software educazionale. Non si diffuse mai molto a causa della sua incompatibilità con le funzioni e le interfacce del sistema operativo dell'Amiga: l'AMOS, infatti, controllava direttamente le funzioni offerte dell'hardware e questo causava la realizzazione di programmi con un'interfaccia utente non standard e problemi di compatibilità con le nuove versioni del sistema operativo.
La versione originale dell'AMOS BASIC era interpretata, soffrendo sul lato prestazionale. Per ovviare a questo problema, fu offerto in un secondo tempo un compilatore, che permetteva di ottenere un buon aumento della velocità di esecuzione dei programmi.
Dopo la prima versione, la Casa sviluppatrice ne offrì altre due versioni: l'Easy AMOS, semplificata e per gli utenti alle prime armi, e l'AMOS Professional, con una IDE migliorata, supporto al linguaggio ARexx, ed un nuovo sottolinguaggio per il controllo dell'interfaccia utente. Nessuna di esse raggiunse la popolarità della versione originale.
I sorgenti del linguaggio sono oggi disponibili con una licenza di tipo BSD e sono scaricabili dal sito di Clickteam, una società informatica fondata da François Lionet.
Compatibilità AMOS/STOS
Il ritardo di quasi 2 anni nella presentazione della versione per Amiga permise agli sviluppatori di rivedere il linguaggio: l'AMOS offriva diversi comandi e funzioni non presenti nella versione per Atari ST, così come l'assenza della numerazione delle linee e costrutti di programmazione strutturata, assenti nello STOS. Questo causava problemi di compatibilità fra le 2 piattaforme di sviluppo: generalmente, un listato scritto in STOS poteva essere convertito in AMOS ma l'inverso non era sempre possibile.