AmigaBASIC

A Wikipédiából, a szabad enciklopédiából
AmigaBASIC
FejlesztőMicrosoft
Első kiadás1985.
Legfrissebb stabil kiadás1.2
(1988.)
Operációs rendszerAmigaOS 1.1 – 1.3
PlatformAmiga / 68k
Állapotmegszűnt
KategóriaMicrosoft BASIC

Az AmigaBASIC egy a Microsoft által kifejlesztett BASIC programozási nyelv interpreter Amigára.[1] 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.

Történet[szerkesztés]

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.[2]

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.[3] 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.[4]

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[5][3] é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.

Hello World[szerkesztés]

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")

Ismert hibák[szerkesztés]

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.

Megjelent könyvek a témában[szerkesztés]

Jegyzetek[szerkesztés]

  1. Manual
  2. Manual 1-5,6,7.o.
  3. a b (1986. szeptember) „Amiga BASIC Style” (angol nyelven). 'COMPUTE!' (76), 72. o. (Hozzáférés: 2023. június 28.)  
  4. Mikael Lundin: Beginners guide to Arexx (angol nyelven), 2016. február 9. (Hozzáférés: 2023. július 10.)
  5. (1986. július) „Getting Down to BASICs” (angol nyelven). 'COMPUTE!' (74), 18. o. (Hozzáférés: 2023. június 28.)  

További információk[szerkesztés]