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.
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ă.
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 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.
Î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 .
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 rExemplu de grafică de inginerie AmigaBASIC (construcția unei suprafețe 3d)
BASIC | Dialectele limbajului de programare|
---|---|
Clasic |
|
tranzitorie |
|
procedural |
|
Obiect |
|
Mobil |
|
Consolă |
|