AmigaBASIC

AmigaBASIC
Tip de Microsoft BASIC
Dezvoltator Microsoft
Sistem de operare AmigaOS 1.1 până la 1.3
Platformă hardware Amiga / m68k
ultima versiune 1.2

AmigaBASIC este un dialect al limbajului de programare BASIC pentru computerul Amiga dezvoltat și scris de Microsoft . AmigaBASIC a fost livrat cu versiunile timpurii de AmigaOS de la 1.1 la 1.3. A înlocuit MetaComCo ABasic, care a fost inclus în AmigaOS 1.0 și 1.1, și a fost înlocuit în sine de ARexx ( dialectul limbajului de programare REXX al IBM ) începând cu AmigaOS 2.0 și mai târziu.

Caracteristici de implementare

AmigaBASIC a fost una dintre primele implementări ale interpretului BASIC în care dezvoltatorii au abandonat suportul pentru numerotarea liniilor. Acest lucru a fost făcut pentru a susține conceptul de programare structurată , implementat și de Microsoft în MacBASIC . Utilizatorii obișnuiți cu sintaxa stabilită a limbajului BASIC în dialectul Dartmouth nu s-au grăbit să treacă la noi implementări, iar absorbția bazei de cod software BASIC existente de către noile implementări de la Microsoft a fost dificilă din cauza incompatibilității . De asemenea, era evident că AmigaBASIC de la Microsoft practic nu permitea utilizarea caracteristicilor extinse ale platformei Amiga (comparativ cu, de exemplu, AMOS ). Programele AmigaBASIC pot accesa bibliotecile de sistem AmigaOS , dar lucrul cu ele este atât de greoi și predispus la erori încât această caracteristică nu are valoare practică.

Limitări și probleme

AmigaBASIC a fost considerat software brut , dar mai ales prea lent. Performanța algoritmilor descriși în AmigaBASIC a fost estimată a fi de 1000 de ori mai lentă decât atunci când sunt implementate în C++ sau asamblator . Acest lucru a fost confirmat indirect de faptul că o simplă buclă inactivă pentru 1000 de rulări a fost efectuată de AmigaBASIC în 800 ms, în timp ce Commodore Basic de pe Commodore 64 (având un procesor de zece ori mai lent decât Amiga ) a finalizat această sarcină în 1000 ms. În același timp, AmigaBASIC 1.0 a oferit utilizatorului de la 10 la 25 KB de memorie RAM pentru stocarea programelor, ceea ce este mult mai mic decât chiar și în baza Commodore 64 , ca să nu mai vorbim de mai tânărul Amiga 1000 (care avea 256 KB în pachetul de bază și 512 KB în cel extins).

Când au apărut pe piață computerele Amiga cu 1 MB sau mai mult RAM, s-a dovedit că AmigaBASIC era limitat la un spațiu de adresă de 24 de biți , care corespunde la 16 MB de RAM, iar acest fapt este asociat cu portarea acestuia pe Amiga de la Apple Macintosh . Programele AmigaBASIC care au depășit această limită artificială din cauza dimensiunii lor pur și simplu nu au fost executate.

În plus, vânzările AmigaBASIC au avut de suferit din cauza reputației foarte proaste a limbajului BASIC (în mediul academic). Prin urmare, majoritatea utilizatorilor Amiga au trecut rapid la C++ , assembler sau Modula-2 , deoarece existau deja pachete puternice de compilare pentru aceste limbi și numai în acest fel a fost posibilă utilizarea tuturor caracteristicilor oferite de platformă. Terții au încercat de mai multe ori să actualizeze suportul pentru limbajul BASIC pe Amiga trecând de la un interpret la un compilator (de exemplu HiSoft Basic Compiler , GFA-BASIC , MaxonBASIC ), dar cu succes mixt. Cu toate acestea, „condamnarea la moarte” finală pentru AmigaBASIC a fost o dispută cu privire la costul unei licențe care a apărut atunci când Microsoft a facturat Commodore Corporation . Prin urmare, Commodore a refuzat să mai furnizeze AmigaBASIC utilizatorilor.

Înțeles

În ciuda faptului că este relativ răspândit, acest dialect BASIC nu a jucat niciodată un rol comercial. Cu toate acestea, AmigaBASIC a devenit un simbol al timpului în care codul sursă pentru programe și jocuri mici pentru Amiga a fost publicat în periodice și ziare populare. Programele vechi, poate îndrăgite, AmigaBASIC sunt cel mai ușor de portat în QBasic sau FreeBASIC , necesită puține modificări.

Trecerea la ACE

Încercările de a crea un compilator pentru BASIC compatibil cu AmigaBASIC s-au încheiat odată cu apariția compilatorului ACE. Acest compilator gratuit a fost creat de australianul David Benn din Launceston , Tasmania și poate crea executabile folosind instrumentele a68k ( asamblare) și Blink (linker) . Astfel, a devenit posibil să se scrie programe cu sintaxa AmigaBASIC care pot folosi GUI Intuition și depășesc implementarea originală Microsoft în performanță . Cea mai recentă versiune 2.4 ( 17 septembrie 1996 ) este disponibilă pentru descărcare din depozitul Aminet .

Exemple de programe

' Hello World pentru AmigaBASIC PRINT „Bună lume!”

Programatorul poate obține mai multe utilizând următoarea sintaxă:

SAY TRANSLATE$ ( „HELLO WORLD” )

În acest caz, Amiga nu numai că va imprima textul pe ecran, dar va spune și „Bună lume” folosind sintetizatorul de vorbire AmigaOS .

dr = 3,14 / 180 PENTRU r = 30 LA 330 PASUL 2 PENTRU t = 0 LA 355 PASUL 5 x = r * COS ( t * dr ) * .5 y = r * SIN ( r * dr ) * .3 z = r * SIN ( t * ) dr ) * .5 xp = xp + ( COS ( 15 * dr ) * z ) yp = yp + ( SIN ( 15 * dr ) * z ) xp = xp + 320 yp = 50 - yp PSET ( xp , yp ) NEXT t URMĂTORUL r

Exemplu de grafică de inginerie AmigaBASIC (construcția unei suprafețe 3d)

Vezi și

Surse

  • Amiga Basic de Paul Fellows , Dabs Press , decembrie 1992, ISBN 978-1-870336-87-1
  • Amiga Basic de Henning Horst Rainer , Jackson Libri , 1989, ISBN 978-88-7056-966-7
  • Amiga Basic Inside and Out de Christian Spanik și Hannes Rugheimer Abacus Books (Abacus Software Inc.), ianuarie 1988, ISBN 978-0-916439-87-3
  • Elementary Amiga BASIC de C. Regena, Compute! (Compute! Publications Inc., SUA), aprilie 1987, ISBN 978-0-87455-041-2
  • Advanced Amiga Basic de Tom R. Halfhill și Charles Brannon , Compute! (Compute Library Selection) iulie 1986, ISBN 978-0-87455-045-0

Link -uri