| AmigaBASIC | |
| Fejlesztő | Microsoft |
| Első kiadás | 1985. |
| Legfrissebb stabil kiadás | 1.2 (1988.) |
| Operációs rendszer | AmigaOS 1.1 – 1.3 |
| Platform | Amiga / 68k |
| Állapot | megszűnt |
| Kategória | Microsoft BASIC |
Az AmigaBASIC egy a Microsoft által kifejlesztett BASIC programozási nyelv interpreter Amigára. A programot a Commodore adta ki az AmigaOS 1.1-től 1.3-ig terjedő változatok részeként, miután lecserélte az addig használt, a MetaComCo által kifejlesztett ABasiC-et. Utóda az AmigaOS 2.0 változatától az ARexx lett, mely egy REXX-stílusú szkriptnyelv.
Az AmigaBASIC nem csak egyszerűen a BASIC programozási nyelvet nyújtotta, hanem igyekezett egy könnyen használható alkalmazásprogramozási felület lenni, mely kihasználhatóvá teszi az Amiga grafikus és zenei képességeit is. Az OBJECT parancs például egyszerű módját szolgáltatja sprite-ok, illetve blitter objektumok (bobok) létrehozásának. Ezeket az objektumokat külső rajzolóprogrammal (Object Editor) lehet megrajzolni, mely az AmigaBASIC része. Ezen túlmenően a SOUND és WAVE parancsok pedig akár saját hangminták lejátszását is lehetővé teszik.
A "Compute!" számítógépes magazin annak idején rendszeresen lehozott AmigaBASIC forráskódokat a hasábjain, melyeket az olvasóknak kellett begépelniük, ha futtatni akarták. Egyszerűbb játékok, felhasználói programok kódjai is publikálásra kerültek.
Az AmigaBASIC-et elavulttá teszi az inkompatibilitása a későbbi AmigaOS (2.0+) operációs rendszerekkel, illetve újabb Motorola 68k processzorokkal. Léteztek Amigára más gyártóktól BASIC compilerek is (pl. A/C BASIC), melyek futnak újabb AmigaOS-ek alatt is, továbbá gyorsabb programkódot, illetve programfutást eredményeznek, az AmigaBASIC-hez képest. Lundin feltételezése szerint elhidegülhetett a viszony a Microsoft és Commodore között, ezért nem került sor az AmigaBASIC hibajavításaira, fejlesztésére, továbbá ez lehetett az oka, hogy a Commodore inkább a Rexx implementációja mellett döntött ARexx néven. Habár a Commodore az AmigaOS 2.0 kiadással lecserélte az AmigaBASIC-et az ARexx-re, a két nyelv nagyon különböző funkcionalitással, illetve képességekkel rendelkezik. A hobbiprogramozók jó része váltott az új operációs rendszer kiadásra és nagyobb érdeklődést mutattak az interpreteres nyelvek közül a szkriptnyelvek iránt. Ezt az igényt az ARexx szolgálta jobban.
A Microsoft Macintoshra írt BASIC-jéhez hasonlóan, az AmigaBASIC interpretere az elsők között hagyta el a sorok kötelező jellegű számozását és ehelyett bevezette a Top-Down megközelítést az utasítássorok végrehajtása során, továbbá a címkéket (Label), melyek a GOTO parancsnak mutatják meg, hova lehet az utasításvégrehajtást ugratni. Futtathatók a sorszámokat tartalmazó forráskódok, illetve lehet továbbra is sorszámokat használni, melyeket egyszerűen címkékként kezeli a program.
Az AmigaBASIC a Microsoft BASIC-ek közül elsők között tette lehetővé operációs rendszer függvények, eljárások, dinamikus programkönyvtárak meghívását a LIBRARY paranccsal. Például: LIBRARY Graphics.library parancs meghívja az AmigaOS graphics.library programkönyvtárát, melyből innentől kezdve meghívhatók a függvények, eljárások.
A "Hello world!" karaktersor kiírása a képernyőre.
' Hello World for AmigaBASIC
PRINT "Hello world!"
Ennek a sornak a hozzáadásával a gép ki is mondja a szöveget:
SAY TRANSLATE$ ("HELLO WORLD")
Egy kevéssé ismert jellegzetessége az AmigaBASIC-nek, hogy elvileg támogatja az Assembly nyelvű programbetétek meghívását. Ez azonban sohasem működött megfelelően egy programhiba okán.
{{cite book}}: Unknown parameter |month= ignored (súgó){{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (súgó); Unknown parameter |month= ignored (súgó){{cite journal}}: Italic or bold markup not allowed in: |journal= (súgó); Unknown parameter |month= ignored (súgó){{cite journal}}: Italic or bold markup not allowed in: |journal= (súgó); Unknown parameter |month= ignored (súgó){{cite journal}}: Italic or bold markup not allowed in: |journal= (súgó); Unknown parameter |month= ignored (súgó) – Egy fraktálgenerátor forráskódja AmigaBASIC-ben.