Mic de bază

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
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

Începutul sursei lui Palo Alto Tiny BASIC a lui Li-Chen Wang . Se citește „ @Copyleft ” și „Toate greșelile rezervate”.

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ă

  1. ^ Despre Compania de Calculatoare a Poporului , la digibarn.com . Adus la 18 februarie 2011 .
  2. ^ 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

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT