Mic de bază
Mic de bază limbaj de programare | |
---|---|
Autor | aa. v. |
Data de origine | Anul 1975 / anul 1976 |
Utilizare | limbaj de uz general |
Paradigme | nestructurat |
Tastare | puternic |
Influențată de | DE BAZĂ |
Tiny BASIC este un dialect al limbajului de programare BASIC care a fost dezvoltat între 1975 și 1976 pentru computerele de 8 biți ale vremii. Unul dintre punctele sale forte a fost cantitatea redusă de memorie ocupată, variind de la 2 la 3 kB , un factor foarte important într-o perioadă în care computerele erau oferite cu o alocare de memorie RAM care, în general, nu depășea 4 kB.
Dezvoltare
Structura limbajului a fost inițial teorizată de Dennis Allison , membru al facultății de informatică de la Universitatea Stanford , la cererea lui Bob Albrecht , membru al Homebrew Computer Club , care văzuse BASIC pe minicomputere și credea că un astfel de limbaj era perfect pentru computerele noi, cum ar fi Altair 8800 , care a fost introdus la începutul anului 1975.
Allison și Albretch au publicat structura lingvistică în newsletter-ul People Computer Company , o organizație dedicată răspândirii culturii computerizate ca instrument pentru a ajuta oamenii. [1] În decembrie 1975, Dick Whipple și John Arnold au creat un interpret de limbă care necesită doar 3 kB de RAM. Allison și Albretch au decis să publice acest interpret și corecțiile aduse structurii limbii originale într-un buletin informativ numit „Journal of Tiny BASIC Calisthenics and Orthodontia”, inserat în „Dr. Dobb’s Journal” editat de Jim Warren , un alt membru al Homebrew Computer Club.
Puterea de a termina și publica Tiny BASIC a fost dată de publicarea faimoasei Scrisori deschise către hobbyiști pe care un tânăr Bill Gates a scris-o pentru a denunța practica în creștere a copierii software-ului, mai degrabă decât cumpărarea acestuia. Scrisoarea a fost adresată generic tuturor pasionaților de computere, dar în realitate a fost îndreptată în principal către Homebrew Computer Club, un membru al căruia a furat o copie a Altair BASIC în timpul unui turneu cu Altair 8800 și apoi a redistribuit-o altor membri.
Bill Gates, în scrisoarea sa, a argumentat că hacking-ul nu numai că a răsplătit autorilor de software pentru munca lor grea în termeni de rentabilitate economică, dar a descurajat și programatorii să continue să producă software de calitate. Warren a răspuns lui Gates din coloanele „SIGPLAN Notices”, buletinul publicat de Asociația pentru Mașini de Calcul (ACM):
„Există o alternativă viabilă la problemele de„ furt ”ale software-ului ridicate de Bill Gates în scrisoarea sa furioasă adresată pasionaților de computere. Când software-ul este gratuit sau ieftin, este mai ușor să îl plătiți decât să îl copiați, astfel încât să nu fie „furat”. ” |
( Jim Warren, „SIGPLAN Notices” (iulie 1976) ) |
Warren a anunțat disponibilitatea Tiny BASIC, ale cărei surse pot fi copiate din revista „Dr. Dobb's Journal” sau a fost posibil să cumpere un exemplar gata pentru suma modestă de 5/10 dolari.
Sintaxă
Sintaxa Tiny BASIC este listată mai jos, în format Backus-Naur . În listă, un asterisc („ * ”) denotă zero sau mai multe dintre obiectele din stânga - cu excepția primului asterisc din definiția „ termenului ”, care este semnul înmulțirii; paranteze grupa obiecte; litera epsilon (" ε ") indică un set gol. Bara verticală („ | ”) indică alternative, listate pe linii separate; simbolul " CR " indică un caracter de întoarcere la trăsură :
line :: = numărul instrucțiunii CR | Instrucțiuni CR statement :: = PRINT expr-list IF expresie comparație expresie THEN declarație Expresia GOTO INPUT listă de variabile LET var = expresie Expresia GOSUB ÎNTOARCERE CLAR LISTĂ ALERGA SFÂRȘIT lista expresiilor :: = (șir | expresie) (, (șir | expresie) *) lista variabilelor :: = var (, var) * expresie :: = (+ | - | ε) termen ((+ | -) termen) * termen :: = factor ((* | /) factor) * factor :: = var | număr | (expresie) var :: = A | B | C .... | Y | Z număr :: = cifră numerică * cifră :: = 0 | 1 | 2 | 3 | ... | 8 | 9 comparație :: = <(> | = | ε) | > (<| = | ε) | = O PAUZĂ de la terminal întrerupe executarea programului
Sursa: „Dr. Dobb's Journal of Computer Calisthenics & Orthodontia”, Volumul 1, Numărul 1, 1976, p. 9.
Implementare
Tiny BASIC a fost implementat ca limbaj interpretat folosind un interpret care rulează pe o mașină virtuală : interpretul a tradus instrucțiunile scrise de utilizator în comenzi specifice pe care apoi le-a executat. Interpretul a fost scris cu aceleași comenzi pe care le-a executat. Următoarele sunt un exemplu de comenzi pe care interpretul le poate executa:
-
TST etichetta, stringa
: dacă „șir” se potrivește cu linia BASIC, avansează cursorul dincolo de „șir” și execută următoarea instrucțiune interpretată la linia indicată de „etichetă”, altfel execută instrucțiunea prezentă la „etichetă” -
CALL etichetta
: execută codul prezent la „etichetă”; salvați adresa instrucțiunii dupăCALL
pe stivă -
RTN
: reia executarea din punctul specificat în valoarea conținută în partea de sus a stivei; -
JUMP etichetta
: continuă execuția programului din punctul indicat de „etichetă”;
(sursă: „Jurnalul Dr. Dobb”, volumul 1, numărul 1, 1976, pagina 12.)
Palo Alto Tiny BASIC
Palo Alto Tiny BASIC a fost a patra versiune a Tiny BASIC care a fost publicată în Jurnalul Dr. Dobb , exact pe numărul din 5 mai 1976 al revistei. A fost scris de Li-Chen Wang și, comparativ cu alte versiuni ale limbajului, a ocupat cea mai mică memorie: doar 1,77 kB de RAM. Alte diferențe au implicat introducerea suportului matrice (folosind prefixul "@") și capacitatea de a omite comanda LET
pentru operații de atribuire a variabilelor. În cele din urmă, pentru a economisi spațiul ocupat de listări în memorie, interpretul a acceptat formele prescurtate ale comenzilor: A.
pentru ABS
, P.
pentru POKE
, R.
pentru RUN
etc. [2] Li-Chen a scris, de asemenea, un versiune a jocului Star Trek cu BASIC, care a fost publicată în numărul din iulie 1976 al buletinului informativ People's Computer Company .
Palo Alto Tiny BASIC merită menționat, de asemenea, ca unul dintre primele software pentru care a fost utilizat conceptul de copyleft , cu referire explicită la drepturile producătorilor de software apărate de Bill Gates în scrisoarea sa deschisă către hobbiști publicată cu câteva luni mai devreme, în pe care Gates i-a acuzat pe cei care i-au copiat Altair BASIC de încălcare a drepturilor de autor .
Notă
- ^ Despre Compania de Calculatoare a Poporului , la digibarn.com . Adus la 18 februarie 2011 .
- ^ Sursele de bază Palo Alto Tiny BASIC ale lui Li-Chen Wang și documentația aferentă , la nicholson.com . Adus 09-03-2011 .
Elemente conexe
linkuri externe
- Tiny BASIC Manual de utilizare , pe IttyBittyComputers.com .
- Exemple de coduri în Tiny BASIC ( TXT ), pe IttyBittyComputers.com .
- Micro BASIC , o versiune pentru MC6800 vândută de Robert Uiterwyk cu calculatoare SWTPC 6800
- Limbajul TBL , un limbaj care folosește un interpret de mașină virtuală, cum ar fi Tiny BASIC
- 68000 Tiny BASIC , versiunea pentru Motorola 68000 a Tiny BASIC, publicată în numărul 100 al „Jurnalului Dr. Dobb”
- Tiny BASIC pentru Palm , implementarea limbajului scrisă în iziBasic
- Tiny BASIC pentru web , o implementare a Tiny BASIC scrisă pentru a rula pe web în Rulați BASIC [ conexiune întreruptă ]
- Tiny BASIC pentru microcontrolere , o implementare pentru microcontrolere moderne de 8/16 biți