DE BAZĂ | |
---|---|
Clasa de limba | algoritmic, mai târziu procedural , mai târziu orientat pe obiecte |
Aparut in | 1964 |
Autor | Thomas Kurtz , John Kemeny |
Dezvoltator | Kurtz, Thomas , Kemeny, John George și Mary Kenneth Keller [d] [1] [2] |
Extensie de fișier | .bas |
Tip sistem | lax |
A fost influențat | Algol 60 , Fortran II, JOSS |
influențat | COMAL , GRASS și multe dialecte ulterioare ale limbii |
Fișiere media la Wikimedia Commons |
BASIC ( BASIC , prescurtare pentru engleză. Codul de instrucțiuni simbolice universale pentru începători - un cod universal pentru instrucțiuni simbolice pentru începători [3] ) - o familie de limbaje de programare de nivel înalt .
A fost dezvoltat în 1964 de profesorii de la Dartmouth College Thomas Kurtz și John Kemeny [4] .
Limbajul a fost creat ca un instrument cu ajutorul căruia studenții non-programatori puteau crea în mod independent programe de calculator pentru a-și rezolva problemele. S-a răspândit sub formă de diferite dialecte, în primul rând ca limbă pentru computerele de acasă . Până în prezent, a suferit modificări semnificative, îndepărtându-se de simplitatea caracteristică primelor versiuni, la granița cu primitivismul și transformându-se într-un limbaj de nivel înalt destul de obișnuit, cu un set tipic de caracteristici. Este folosit ca limbaj independent pentru dezvoltarea de programe de aplicație, care operează în principal sub sistemul de operare Windows de diferite versiuni. Este, de asemenea, utilizat pe scară largă ca limbaj încorporat pentru sistemele software de aplicații în diverse scopuri și ca limbaj pentru calculatoare programabile .
Condiția prealabilă pentru apariția BASIC a fost disponibilitatea crescută a computerelor în anii 1960 și apariția capacității de a lucra în modul de partajare a timpului ( time - sharing ). Studenții și specialiștii care nu sunt programatori pregătiți, dar care au nevoie să-și rezolve problemele pe un computer, au obținut acces la computere.
BASIC a fost conceput în 1964 de profesorii de la Dartmouth College, John Kemeny și Thomas Kurtz , și sub îndrumarea lor a fost implementat de o echipă de studenți. De-a lungul timpului, pe măsură ce alte dialecte au început să apară, implementarea originală a devenit cunoscută sub numele de Dartmouth BASIC .
BASIC a fost conceput astfel încât studenții să poată scrie cu ușurință programe folosind terminale de partajare a timpului. A fost destinat utilizatorilor mai „simpli”, nu atât de interesați de viteza de execuție a programului, cât pur și simplu de capacitatea de a folosi un computer pentru a-și rezolva problemele fără pregătire specială.
Următoarele opt principii au fost utilizate în proiectarea limbajului. Noua limbă era să:
Limbajul s-a bazat parțial pe Fortran II și parțial pe Algol 60 , cu adăugiri pentru a-l face potrivit pentru partajarea timpului și, mai târziu, pentru procesarea textului și aritmetica matriceală. BASIC a fost implementat inițial pe mainframe -ul GE-265 cu suport pentru mai multe terminale. Contrar credinței populare, la momentul înființării era un limbaj compilat .
Deși limbajul era deja folosit pe mai multe minicalculatoare, răspândirea sa reală a început odată cu introducerea microcomputerului Altair 8800 . Multe limbaje de programare erau prea mari pentru a se potrivi în memoria mică pe care și-o puteau permite utilizatorii unor astfel de mașini. Pentru mașinile cu suporturi lente, cum ar fi bandă de hârtie (mai târziu caseta audio) și fără un editor de text adecvat, un limbaj mic precum BASIC a fost o mană divină.
În 1975, Microsoft (atunci erau doar doi: Bill Gates și Paul Allen - cu participarea lui Monte Davidov ), a lansat Altair BASIC . Versiuni ale acestuia au apărut apoi pe o altă platformă sub licență, iar în curând au fost utilizate milioane de copii și variante: o variantă, Applesoft BASIC , a devenit limba standard pe Apple II . Pentru sistemul de operare CP/M a fost creat dialectul BASIC-80 , care a determinat dezvoltarea limbajului pentru o lungă perioadă de timp.
În 1979, Microsoft a discutat cu câțiva furnizori de computere (inclusiv IBM ) pentru a licenția interpretul BASIC pe mașinile lor. O versiune ( ROM BASIC ) a fost inclusă în ROM - ul IBM PC : computerul putea porni automat în BASIC. Întrucât IBM nu acorda prea multă importanță computerelor personale în acel moment ( mainframe -urile erau principalul său domeniu de activitate ), contrar principiilor sale, a permis Microsoft să vândă interpretul separat. Acest lucru l-a făcut pe acesta din urmă un pionier în lansarea unei noi generații de software - nelegat de hardware specific și furnizat separat de computer.
BASIC a experimentat pe deplin un fenomen atât de cunoscut în 1970-1980, precum reproducerea în masă a versiunilor și dialectelor unei limbi de nivel înalt care sunt în mare măsură incompatibile între ele. Au fost mai multe motive pentru aceasta. Deoarece limbajul nu era considerat unul industrial, nu s-au făcut eforturi deosebite pentru a-l standardiza, iar fiecare computer și-a creat propria implementare. În aceiași ani, a apărut un număr mare de computere pentru acasă și educaționale pe 8 biți, construite pe baza de procesoare precum Intel 8080 (analogic sovietic - KR580VM80A ) sau Z80 , pe care BASIC era principalul (sau numai disponibil) high- limbaj de nivel. Fiecare model de computer avea anumite caracteristici hardware și software, mijloace specifice de a scoate sunet și grafică; instrumente de intrare non-standard, pentru suportul cărora au fost introduse comenzi și construcții speciale în implementarea BASIC. Uneori, instrumentele de programare de nivel scăzut au fost implementate chiar în BASIC, cum ar fi lucrul direct cu memoria fizică sau gestionarea întreruperilor hardware. Prin urmare, dacă în partea de bază (setul minim standard de operatori și I/O seriale de consolă) cele mai multe implementări erau practic similare, atunci în ceea ce privește ieșirea sunetului, grafica și controlul mai complex al consolei de text (gestionarea culorilor, crearea unui fel a ferestrei I/O), acestea sunt aproape sigur incompatibile. Drept urmare, doar cele mai comune versiuni și dialecte ale BASIC au fost mai mult de o duzină, iar numărul total de implementări adesea incompatibile nu a fost inferior numărului de tipuri și soiuri de computere în funcțiune.
Perioada de cea mai mare prosperitate și dezvoltare a BASIC-ului original poate fi considerată sfârșitul anilor 1970 - prima jumătate a anilor 1980. În această perioadă, aproape toate computerele personale aveau propriul interpret de BASIC, adesea cusut în ROM, care în cele mai simple computere îndeplinea adesea și funcțiile unui sistem de operare. Aproape toate calculatoarele mai puternice aveau și sisteme interactive BASIC. Practic nu existau compilatoare BASIC , marea majoritate a implementărilor au fost un hibrid standard între un editor de linie și un interpret. De-a lungul timpului, instrumentele de bază ale limbajului s-au îmbunătățit, ceea ce a dus la apariția în unele implementări a operatorilor de ramificație complecși, a unor tipuri suplimentare de bucle și a procedurilor numite cu parametri.
Au fost create mai multe versiuni noi de BASIC pentru platforma IBM PC. Microsoft a vândut BASIC pentru MS-DOS / PC DOS , inclusiv IBM Advanced BASIC (BASICA), GW-BASIC (o modificare a BASICA care nu necesită „firmware” de la IBM) și QuickBASIC . Borland , care a intrat inițial pe piață cu binecunoscutul său Turbo Pascal , a lansat un sistem Turbo Basic 1.0 bazat pe același mediu software în 1985 (succesorii săi au fost ulterior vânduți de o altă companie sub numele PowerBASIC ). Unele alte limbi au folosit binecunoscuta sintaxă BASIC ca bază pe care a fost construit un sistem complet diferit (a se vedea GRASS de exemplu ). Dorința de a crește performanța programelor BASIC a dus la apariția compilatoarelor cu drepturi depline (cum ar fi Turbo Basic menționat mai sus), precum și a sistemelor „hibride” în care, menținând interpretarea ca metodă principală de execuție a programului, compilarea parțială „on the fly” a fost implementat, de exemplu, compilarea de cicluri scurte. În plus, cel puțin pe platforma IBM, s-a răspândit pseudo-compilarea programelor BASIC, atunci când traducătorul traduce programul BASIC în pseudocod (adesea reversibil) și formează un program executabil din modulul obiect interpret și modulul codificat cu textul programului. . Un astfel de program ar rula și rula ca un program obiect compilat normal, deși a rămas interpretat în esență.
La mijlocul anilor 1980, BASIC a devenit limbajul principal în modelele complexe de calculatoare programabile , care tocmai în acest moment ajunseseră la puterea de a permite utilizarea unui limbaj cu drepturi depline la nivel înalt. Însuși faptul că mulți producători, fără să spună un cuvânt, au ales BASIC ca bază pentru limbajul de nivel înalt al calculatoarelor, vorbește cel mai bine despre prevalența și popularitatea acestui limbaj la momentul indicat. Deci, BASIC a fost integrat în calculatorul electronic sovietic MK-85 și în toate modelele sale ulterioare. Utilizarea BASIC ca limbaj principal de nivel înalt pentru calculatoarele programabile continuă până în prezent; în prezent, „calculatorul” BASIC este cel mai asemănător cu versiunea originală a anilor 1960-80, de exemplu, implementarea pentru calculatoarele CITIZEN conține doar 14 cuvinte cheie (fără a număra funcțiile matematice) și permite doar nume de variabile cu un singur caracter .
Până la sfârșitul anilor 1980, computerele personale au devenit mult mai puternice și au oferit caracteristici (cum ar fi o interfață grafică de utilizator ) care nu mai erau la fel de convenabile de utilizat în BASIC. În plus, apariția pe computere a clasei „educative” și „acasă” a traducătorilor ieftini de limbi industriale \u200b\u200b (în primul rând Pascal și C), însoțite de medii de programare convenabile și biblioteci utile (de exemplu, Borland Pascal ). cu biblioteca Turbo Vision ) a creat o concurență puternică pentru BASIC. BASIC a început să piardă teren, în ciuda faptului că un număr mare de versiuni au fost încă folosite și vândute. În același timp, a început o schimbare rapidă a aspectului acelor sisteme BASIC care au rămas în funcțiune. A existat o „derivare” treptată către limbaje structurale recunoscute: vocabularul și setul de constructe ale limbajului s-au extins, au apărut ramuri complexe, subrutine și funcții numite, nume lungi de variabile. În plus, capacitățile sporite ale computerelor personale au făcut posibilă abandonarea trăsăturilor caracteristice ale BASIC, introduse pentru a asigura o muncă interactivă eficientă la un terminal de text: semne numerice pentru fiecare linie și editare linie cu linie.
BASIC a primit o a doua viață odată cu apariția Microsoft Visual Basic . Deși este dificil să fim de acord că acest limbaj este cu adevărat de BAZĂ; a fost concluzia logică a evoluției limbajului și, în ciuda păstrării cuvintelor cheie obișnuite, din punct de vedere al structurii și al setului de caracteristici, este mai aproape de Pascal decât de BASIC-ul original. Dar, ca instrument pentru crearea rapidă a programelor Windows practic utile, cu o calificare scăzută de programator, s-a dovedit a fi foarte util și a devenit rapid unul dintre cele mai utilizate limbi de pe platforma Windows . Nu ultimul rol aici a fost jucat de implementarea cu succes a constructorului GUI inclus în sistem, care a ascuns detaliile programării GUI Windows de la dezvoltator și le-a permis să se concentreze asupra sarcinii. Microsoft a creat o variantă numită WordBasic și a folosit-o în MS Word până la apariția lui Word 97. Varianta Visual Basic pentru aplicații (VBA) a fost încorporată în Microsoft Excel 5.0 în 1993 , apoi în Access 95 în 1995 și, după aceea, în toate celelalte instrumente incluse în suita Microsoft Office . Internet Explorer 3.0 și versiunile ulterioare, precum și Microsoft Outlook , au inclus un interpret VBScript .
Sintaxa limbajului seamănă cu Fortran și multe elemente sunt împrumuturi explicite din acesta. Limba a fost concepută pentru învățare, așa că design-urile sale sunt cât se poate de simple. Ca și în cazul altor limbaje de programare , cuvintele cheie sunt preluate din limba engleză. Există două tipuri de date de bază: șiruri și numere. Odată cu apariția versiunii Visual Basic , precum și cu diferitele sale modificări (cum ar fi VBA ), multe alte tipuri de date și completări care sunt tipice limbajelor de programare moderne (cum ar fi modelul obiect) au apărut în limbaj. Declararea variabilelor nu necesită o secțiune specială (spre deosebire de Pascal ). Declararea unei variabile este prima utilizare a acesteia.
Versiunile timpurii ale BASIC (cum ar fi BASICA , GW-BASIC ) diferă semnificativ de dialectele moderne și sunt cu greu folosite astăzi.
Apariția programelor în versiunile timpurii ale BASIC a fost în mare măsură determinată de faptul că era destinat unui mediu de programare cu un editor de text în linie. Într-un astfel de editor, utilizatorul nu a putut să afișeze tot textul pe ecran (în fereastră), să se deplaseze în orice direcție folosind tastatura și/sau mouse-ul. În editorii de linie, pentru a schimba o linie de text, utilizatorul trebuie să dea comanda de a schimba linia cu un anumit număr, apoi să introducă noul text al liniei specificate. Pentru a introduce o linie nouă, trebuie să dați comanda de inserare, indicând din nou numărul. Șirurile de intrare sunt afișate secvenţial pe ecran (indiferent de numere). Pentru a vedea modificările efectuate, se folosește comanda text de ieșire, care scoate liniile în ordinea corectă (numerele crescătoare).
Toate acestea se reflectă în BASIC. Fiecare linie începe cu un număr. Când a fost introdusă în editor, linia a apărut în codul sursă al programului în poziția corespunzătoare numărului său. Pentru a introduce o nouă linie, a fost necesar să adăugați o linie cu un număr care se afla în intervalul dintre numerele celorlalte două linii. Era imposibil să „împrăștii” liniile dacă era necesar să inserezi o nouă linie între liniile cu numere adiacente, trebuia să reintroduci aceste linii cu alte numere pentru a asigura o întrerupere în numerotare (sau să folosești o comandă specială RENUMcare renumerota toate liniile deja introduse cu un pas constant, schimbând sincron toate comenzile de salt). Pentru a simplifica editarea on-line a programului, a devenit o practică de a numerota liniile cu un pas de 10 - acest lucru a făcut posibilă în aproape toate cazurile inserarea de noi linii fără a modifica numerele introduse anterior. De exemplu, pentru a adăuga o a treia linie între liniile 20 și 30, ar trebui să scrieți o linie cu un număr între 21 și 29. O linie tipică dintr-un program BASIC arăta astfel:
10 PRINT "Bună, lume!"Nu era sigur să schimbați manual numerele liniilor deja existente, deoarece numerele au acționat ca etichete pentru operator GOTO. Anterior, BASIC permitea doar etichete numerice pentru acest operator, iar prezența unui număr unic pe fiecare linie făcea posibilă trecerea necondiționată la oricare dintre ele. Etichetele numerice și utilizarea intensă GOTOau fost inevitabile în programarea BASIC, ceea ce a contribuit la structura slabă a codului și, în proiectele mari, a condus la confuzia autorilor înșiși. Termenul de glumă „programare de paste” ( cod spaghete ) a fost chiar inventat, deoarece logica programului cu tranziții frecvente GOTOseamănă cu o farfurie de spaghete.
Terminația operatorului era capătul de linie. Pentru a plasa mai multe instrucțiuni pe o singură linie, trebuie să puneți două puncte între ele (acest lucru nu a fost permis în toate implementările limbajului). Numele variabilelor din majoritatea dialectelor puteau consta doar dintr-o literă, după care se putea adăuga o cifră, ceea ce, de asemenea, nu a îmbunătățit înțelegerea codului. Pentru a crea o variabilă de tip șir, a trebuit să puneți un semn dolar ( $) după nume. O variabilă fără acest semn a fost o variabilă numerică (în virgulă mobilă). Au mai fost câțiva modificatori legați de tipul numeric: semnul procentual ( %) - un tip întreg, semnul exclamării ( !) - precizie normală, octothorp ( #) - precizie dublă (pentru date în virgulă mobilă, adică fracții zecimale ). În unele versiuni, modificatorii numerici pot să nu fi fost aplicați sau să nu fi fost aplicați toți. În marea majoritate a programelor, a fost folosit doar tipul numeric de bază.
Expresiile sunt similare cu majoritatea celorlalte limbaje de programare procedurală, dar în primele versiuni ale BASIC setul lor era destul de slab. În primele versiuni, numărul de cuvinte cheie nici măcar nu ajungea la 20. Iată un set de construcții de bază de program și comenzi interactive care au fost implementate în aproape orice sistem BASIC de la sfârșitul anilor 1970:
Operatorul condiționat ( IF..THEN) avea inițial o singură ramură - nu era ELSEnicio ramură în el și a fost modelat folosind o tranziție necondiționată. Deci, în următorul program, se efectuează o operație elementară - introducerea unui număr și afișarea mesajului „Număr negativ” sau „Număr pozitiv sau zero”, în funcție de valoarea acestuia:
10 INPUT I 20 IF I >= 0 THEN PRINT "Număr pozitiv sau nul" : GOTO 40 30 PRINT "Număr negativ" 40 ENDA existat un operator de tranziție printr-o etichetă calculată ON..GOTO(moștenită dintr-o construcție similară Fortran) - după ON, era indicată o expresie numerică, iar după GOTO - o listă de numere de linii. Tranziția a avut loc la linie, al cărei număr din listă corespundea valorii expresiei. Există, de asemenea, cicluri (un ciclu cu un numărător FORși un ciclu cu o precondiție WHILE).
Utilizarea funcțiilor definite de utilizator (secțiuni de cod, reutilizabile) a fost posibilă în două moduri: funcții definite și subrutine.
Subrutinele nu erau analoge cu funcțiile limbajelor precum C sau Pascal , deoarece nu aveau nume și nu puteau accepta și/sau returna parametri. Parametrii și rezultatele au fost transmise prin variabile globale (toate variabilele din versiunile inițiale ale BASIC au fost globale). Subprogramele erau de obicei scrise la sfârșitul modulului, cu numerotarea evident mai mare decât numărul planificat de linii (de exemplu, numerotarea unui bloc de subprograme putea începe de la 5000, chiar dacă programul avea câteva sute de linii). Subrutinele nu aveau antete sau nume și nu erau diferite de orice altă bucată de cod. Subrutina a fost apelată folosind cuvântul cheie GOSUB <метка>. Aceasta este practic o clonă GOTO, cu excepția unui singur lucru: revenirea la punctul de apel a avut loc automat atunci când cuvântul cheie a fost atins în subrutină RETURN. GOSUB, ca GOTOși , au contribuit doar la structura slabă a codului, deoarece a fost o sarcină dificilă să urmăriți execuția unui program care conținea un număr mare de salturi și subrutine necondiționate. Recursiunea nu a fost permisă.
Incapacitatea de a numi subrutine (și de a transfera controlul asupra acestora), incapacitatea de a trece parametrii, absența variabilelor locale, utilizarea doar a etichetelor numerice în proiecte mari au provocat confuzie în cod și au făcut foarte dificilă depanarea.
În unele dialecte BASIC, a fost posibilă încărcarea unui fișier cu cod direct în timpul execuției programului (cel curent a fost descărcat) de către operator CHAIN. Aceasta a fost una dintre cele mai utile caracteristici ale limbajului, deoarece vă permitea să împărțiți un proiect mare în module, apelându-le în ordinea nevoilor.
Nu exista niciun editor de cod în versiunile anterioare, ca atare. La pornirea interpretului BASIC, a fost lansat modul de dialog pentru introducerea comenzilor. Pentru a funcționa în acest mod, au fost furnizate comenzi speciale care nu erau operatori ai limbajului în sine (nu puteau fi incluse în codul programului). Acestea sunt comenzi pentru gestionarea mediului de intrare, cum ar fi: LIST <диапазон строк> - afișarea listei de programe pe ecran ( LLIST - către imprimantă), SAVE <имя файла> - salvarea textului programului într-un fișier, LOAD <имя файла> - încărcarea codului în memorie etc. Programul a fost lansat de către introducând comanda RUN. Majoritatea interpreților BASIC aveau o linie cu aceste (și alte) comenzi în partea de jos a ecranului.
Dacă comanda a început cu un număr de linie (etichetă), a fost stocată în memorie ca parte a programului de introducere. Dacă șirul operator a fost introdus fără număr, acesta a fost executat imediat după apăsarea tastei ↵ Enter. Ca primele lecții, studenții de la BASIC au fost rugați să experimenteze un astfel de mod, când rezultatul execuției expresiei era imediat vizibil. De exemplu, dacă introduceți un șir în modul de dialog PRINT 2+2și apăsați ↵ Enter, rezultatul adăugării va fi afișat pe ecran.
Pentru a edita un șir deja introdus, în majoritatea implementărilor a fost necesar să-l reintroduceți complet. Rândurile au fost șterse cu comanda DELETE <диапазон строк>. Comanda RENUM - este permisă restabilirea pasului 10 în numerotarea liniilor. Adesea a existat o situație în care pasul obișnuit 10 nu era suficient pentru liniile viitoare (deoarece un astfel de pas vă permite să adăugați doar 9 linii între cele necesare) și apoi comanda RENUMa fost necesară (toate liniile au fost renumerotate cu un pas de 10, iar liniile au fost ajustate corespunzător GOTOpentru noua numerotare a liniilor) .
Pentru a executa programul în BASIC, numele fișierului cu codul programului a fost transmis interpretului pe linia de comandă. În acest caz, după încărcarea codului, comanda RUN (start program execution) a fost apelată automat.
Un fragment dintr-un program tipic BASIC:
10 CLS „Șterge ecranul 20 PRINT „Bun venit!” „Titlu pe primul rând 30 „Buclă care trage o linie sub titlu la lățimea ecranului complet 40 FOR I = 1 TO 80 50 PRINT „=" ; 60 NEXT I 65 'Introducerea caracterelor de la utilizator (comentar adăugat după introducerea liniilor de jos) 70 INPUT "Prenumele: " , N$ 80 INPUT "Nume: " , S$ 90 INPUT "Patronimic: " , T$ 95 ' Tăiați o copie a primelor caractere din primul și al doilea nume 100 N2$ = LEFT$ ( N$ , 1 ) 110 T2$ = LEFT$ ( T$ , 1 ) 120 'Tipărește rezultatul 130 PRINT "Numele tău este scurt: " ; S$ ; "" ; N2$ ; "." ; T2$ ; "." 140 INTRARE „Repetați programul? (D/N)” , U$ 150 IF U$ = „Y” THEN GOTO 10 160 ENDPunctul și virgulă are funcția de a suprima o nouă linie după operator PRINT. Cuvântul cheie ENDînseamnă terminarea programului. Este optional, in lipsa lui programul se termina dupa executarea ultimei instructiuni, dar era util in cazurile in care exista o sectiune de subrutine, sau programul avea mai multe puncte de terminare posibile (in ultimul caz, fie la fiecare astfel de punct au stabilit END, sau ENDera unul, iar pe el se făceau pasaje în altă parte).
Una dintre cele mai comune variante ale limbajului BASIC a fost implementarea interpretului QBasic de către Microsoft Corporation . Timp de mulți ani, a fost inclusă ca o aplicație gratuită inclusă cu MS-DOS și sistemele de operare Windows timpurii . Avea capacități grafice și de sunet destul de puternice, permițându-vă să creați chiar jocuri în această limbă.
Versiunile ulterioare ale BASIC (începând cu Turbo Basic și Visual Basic ) sunt foarte diferite de versiunile anterioare. De fapt, este un nou limbaj care este în multe privințe mai aproape de Fortran sau Pascal decât de BASIC original. Principalele modificări în versiunile anilor 1990 sunt următoarele:
Aproape toate deficiențele inerente versiunilor timpurii ale limbii au fost remediate, iar programarea în dialectele BASIC moderne diferă puțin de utilizarea altor limbi și medii (cum ar fi Delphi ). Partea inversă a procesului de modificare de bază este că limbajul a devenit mult mai mare și mai complex, iar dezvoltarea sa necesită mai mult timp și efort.
Fragment dintr-un program tipic FreeBASIC:
# Lang "fb" Dim As String n , s , t , n2 , t2 Cls : Print "Bine ați venit!" 'Titlu pe prima linie Efectuați 'Buclă care trage linia de sub titlu la lățimea ecranului complet Pentru i As Integer = 1 To LowWord ( Width ) Print "=" ; În continuare i 'Introduceți date despre caractere de la utilizator Introduceți „Prenumele: ” , n Introduceți „Nume: ” , s Introduceți „Nume de mijloc: ” , t 'Tăiați o copie a primelor caractere din prenume și patronimic n2 = Stânga ( n , 1 ) t2 = Stânga ( t , 1 ) 'Afișează rezultatul Imprimă „Numele tău este scurt:” ; s ; "" ; n2 ; "." ; t2 ; "." Tipăriți „Repetați programul? (y/n)” Loop While LCase ( Intrare ( 1 )) = „y” End 0În ciuda popularității sale, în 2001 Microsoft a abandonat suportul suplimentar pentru Visual Basic în favoarea unui limbaj Visual Basic .NET fundamental nou - în această implementare, limbajul a fost din nou revizuit radical și, în starea sa actuală, practic coincide în ceea ce privește setul de caracteristici cu limbajul C # , doar detaliile diferă de sintaxă și cuvinte cheie. În acest fel, Basic a evoluat de la un instrument pentru crearea de programe pentru amatorii neprofesioniști la un instrument cu drepturi depline pentru crearea de programe.
Pe lângă scrierea de programe cu drepturi depline, BASIC este utilizat pe scară largă ca bază pentru diferite limbaje de scripting (de exemplu, macrocomenzile din pachetul Microsoft Office sunt scrise în dialectul VBA ).
În perioada de glorie (1970-1980), BASIC a fost puternic criticat. Pe lângă afirmarea deficiențelor evidente ale limbajului asociate cu sărăcia sintactică a versiunilor timpurii și absența multor constructe și mecanisme recunoscute și convenabile, BASIC a fost criticat pentru faptul că simplitatea și lipsa de structură încurajează utilizarea practicilor vicioase de dezvoltare și contribuie la dezvoltarea unor obiceiuri de programare periculoase care pot fi uneori adecvate pentru crearea rapidă de programe mici pentru nevoile actuale, dar pot duce la prăbușirea proiectelor mari.
Educația inițială de programare bazată pe BASIC a fost aspru criticată. Una dintre „cartele de vizită” ale lui Edsger Dijkstra a fost afirmația:
Elevii care au studiat anterior BASIC sunt aproape imposibil să predea programare bună. Ca potențiali programatori, aceștia sunt infirmi mental, fără nicio speranță de recuperare [5] .
Text original (engleză)[ arataascunde]Este practic imposibil să predați programare bună studenților care au avut o expunere anterioară la BASIC: ca potențiali programatori, ei sunt mutilați mental dincolo de speranța de regenerare.
Ca răspuns la critici, adepții BASIC notează că criticii atribuie limbajului acele aspecte negative care ar trebui atribuite utilizării greșite a acestuia. Dezavantajele BASIC (dacă ne referim la dialectele timpurii) apar atunci când se încearcă dezvoltarea profesională a programelor complexe și mari pe el și când se folosește ca limbaj de bază pentru predarea programatorilor, dar acest limbaj nu a fost destinat niciunei dintre aceste aplicații; sarcina sa principală a fost de a oferi studenților neprogramatori posibilitatea, după o pregătire minimă , de a scrie cele mai simple programe pentru propriile nevoi , pentru a nu distrage atenția specialiștilor pentru această muncă. Limbajul este destul de potrivit pentru această sarcină.
Dacă vorbim despre dialectele moderne și despre implementările BASIC, atunci acestea au mers atât de departe de forma originală a limbii încât toate cele de mai sus pot fi considerate cu greu legate de ele. Dialectele moderne ale BASIC sunt limbi destul de structurate, sunt comparabile ca capacități cu limbi precum C , Pascal etc.
În momente diferite, interpreții BASIC au fost produși de diferite organizații, companii, firme:
Sovietic:
Măr:
|
|
Sinclair :
|
|
|
Alte:
|
|
BASIC | Dialectele limbajului de programare|
---|---|
Clasic |
|
tranzitorie |
|
procedural |
|
Obiect |
|
Mobil |
|
Consolă |
|
Limbaje de programare | |
---|---|
|