AmigaBASIC

AmigaBASIC
FejlesztőMicrosoft
Első kiadás1985. (1985)
Legfrissebb stabil kiadás1.2
(1988. (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. 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

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.

Hello World

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

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

Jegyzetek

  1. ↑ Manual
  2. ↑ Manual 1-5,6,7.o.
  3. 1 2 "Amiga BASIC Style". COMPUTE! (angol nyelven) (76): 72. 1986. Hozzáférés: 2023. június 28. {{cite journal}}: Italic or bold markup not allowed in: |journal= (súgó); Unknown parameter |month= ignored (súgó)
  4. ↑ Mikael Lundin (2016. február 9.). "Beginners guide to Arexx" (angol nyelven). Hozzáférés: 2023. július 10.
  5. ↑ "Getting Down to BASICs". COMPUTE! (angol nyelven) (74): 18. 1986. Hozzáférés: 2023. június 28. {{cite journal}}: Italic or bold markup not allowed in: |journal= (súgó); Unknown parameter |month= ignored (súgó)

További információk