Kes leiutas programmeerimiskeele BASIC. Programmeerimiskeele Basic ja Visual Basic loomise ajalugu. Kuidas see kõik algas

Basic programmeerimiskeele lõid 1964. aastal kaks Dartmouthi kolledži professorit John Kenemi ja Thomas Kurtz, et õpetada õpilastele programmeerimisoskusi. Keel osutus nii lihtsaks ja arusaadavaks, et mõne aja pärast hakati seda kasutama ka teistes õppeasutustes. 1975. aastal, esimeste mikroarvutite tulekuga, võtsid Basicu teatepulga üle Microsofti asutajad Bill Gates ja Paul Allen. Just nemad lõid esimeste Altairi arvutite jaoks (MITS Altairs) Basicu uue versiooni, mis on võimeline töötama 4KB muutmäluga. Aja jooksul muutus see versioon üheks populaarseimaks programmeerimiskeeleks maailmas. Teel hiilguse tippu oli Basicul palju raskusi, millest ta alati autundega üle sai ja kui ilmusid esimesed personaalarvutid IBM PC, sai sellest programmeerimise standard, kuid GW-Basicu kujul. Siis olid olemas Turbo Basic, QuickBasic, Basic PDS, kuid alati säilitati keele uue versiooni väljatöötamisel ühilduvus eelmiste versioonidega ja peaaegu esimesele Basicule kirjutatud programm võis (väiksemate muudatustega) ka selle järgmistes versioonides töötada. keel. Kuid on saabunud uued ajad ja 90ndate alguses ilmus Microsoft Windowsi operatsioonisüsteem uue graafilise kasutajaliidesega (GUI). Programmeerijate elu on muutunud põrguks. Lihtsa programmi loomiseks tuli kirjutada mitu lehekülge koodi: luua menüüsid ja aknaid, muuta fonte, tühjendada mälu, “joonistada” nuppe jne. Uue liidese eelised olid aga nii vaieldamatud, et juba selle operatsioonisüsteemi kolmas versioon sai personaalarvuti de facto standardiks. Sel ajal oli Microsoftis käimas mitu paralleelset projekti Windowsi uue programmeerimiskeele loomiseks. Ja 1991. aastal ilmus loosungi all "nüüd saavad isegi algajad programmeerijad hõlpsasti Windowsi jaoks rakendusi luua" uue Microsoft Visual Basicu tööriista esimene versioon. Microsoft hindas sel hetkel selle süsteemi võimalusi üsna tagasihoidlikult, suunates selle eelkõige algajate ja mitteprofessionaalsete programmeerijate kategooriasse. Peamiseks ülesandeks oli siis tollal üsna uues Windowsi keskkonnas toona üsna uues Windowsi keskkonnas lihtsa ja mugava arendustööriista turule toomine, mille programmeerimine oli probleemiks isegi kogenud professionaalidele. Visual Basicu arendajate loodud programmeerimissüsteem võimaldas Windowsi keerulisest sisestruktuurist “tagasi astuda” ja “kuubikutest” programme luua nagu laste ehituskomplektis. Menüüd, aknad, loendid, nupud, tekstisisestusväljad ja muud Windowsi liidese elemendid lisati programmi lihtsate lohistamistoimingute abil. VB programmeerijad lõid oma esimese programmi mõne minuti jooksul pärast selle keele õppimise algust! Lisaks võimaldas Visual Basic arendajatel luua uusi "kuubiku" objekte, mida saaks kasutada ka programmides koos standardsete objektidega. Ja kuigi paljud C programmeerijad naersid vaikselt Microsofti katsete peale luua Windowsi programmide arendamiseks lihtne ja arusaadav tööriist, alustas Visual Basic oma võidukat marssi ümber maailma ning miski ei suutnud seda protsessi peatada. Viimased takistused langesid 1994. aastal Visual Basic for Applications väljalaskmisega. Just sel ajal, pärast VBA lisamist Microsoft Office'i, hakkas Basic muutuma üheks Windowsi peamiseks programmeerimisstandardiks. Microsofti jaoks on Basic keel omal ajal eriti oluline, Altair 8800 arvutile mõeldud Basic versiooni väljatöötamine tähistas selle asutajate Bill Gatesi ja Paul Alleni programmeerimiskarjääri algust. Seetõttu säilitas Microsoft omal ajal - 1989. aastal, kui tuli aeg levitada erinevates programmeerimiskeeltes arenduskeskkondade loomise põhisuundi erinevate ettevõtete vahel - QuickBasic - keskkond Basicu programmide arendamiseks, keeldudes näiteks edasisest. töötada Pascali programmeerimise keele kallal, jättes selle Borlandile, mis omakorda peatas töö oma Basicu versiooniga (Pascalist sai hiljem Delphi keel). Algselt mänguasjana mõeldud Microsofti Visual Basic vallutas programmeerimismaailma tormiliselt. Selle populaarsus on tingitud kahest põhjusest: suhteline lihtsus ja tootlikkus. VB-programmid on aeglasemad kui nende C/C++ kolleegid, kuid need on siiski piisavalt kiired paljudeks ärilisteks eesmärkideks ja nõuavad palju vähem arendusaega. Vormid olid sama pingutust säästev abstraktsioon, mida VB Windowsi programmeerijatele pakkus. VB IDE võimaldas aknaid graafiliselt kujundada, lohistades tööriistaribalt vormile juhtelemente, nagu nupud ja loendikastid. Kui olete vormi välimusega rahul, võite liikuda koodi poole ja kirjutada iga vormi juhtelemendi jaoks sündmuste töötlejad. Rakenduse väljatöötamine VB-s seisnes seega mitme vormi loomises, mis rääkisid omavahel ja otsisid vajaliku teabe saamiseks andmebaasi. Saadud vormiks osutus aken, mis pakkus palju mugavamat võimalust kasutada akende tehnikaid. VB on vähendanud vigu, eemaldades mõne peidetud C/C++ süntaksi. Välja arvatud erijuhtudel, piirdusid avaldised ühe koodireaga ning muutujad tuli deklareerida ja lähtestada eraldi koodiridadel. Määramise ja võrdluse operaatorid kasutasid sama sümbolit, kuid VB grammatika nõudis, et neid operaatoreid tuleks kasutada viisil, mis teeb nende kavatsuse selgeks. Võib-olla kõige tähtsam on see, et puudusid näpunäited – Bill Gatesi nõue alates Microsoft BASICu esimestest versioonidest. Kuigi osutid on kasulikud, kuna need võimaldavad otsest juurdepääsu mälule mis tahes aadressil, on nende kasutamisel ettevaatlik, kui neid ei kasutata ettevaatlikult. BASICu grammatilise lihtsuse nõue tuleneb asjaolust, et see loodi algselt õppekeelena: "Algajate universaalne sümboolne õppekood." VB versioon 6 on juba võimas keel, mida saab kasutada hajutatud rakenduste loomiseks. COM-i komponendid ja Microsoft Transaction Server pakkus välja kolmetasandilise lähenemisviisi klient-server-arhitektuuridele, kus õhukesed kasutajaliidesed interakteerusid VB-i kaugkomponentidega, et hankida andmeid andmebaasist või muust masinast saab kirjutada skripte veebibrauseritele ja automatiseerida Microsoft Office'i rakendusi. Lisaks saab VB6-d kasutada Internet Exploreriga töötavate Active-X-juhtelementide loomiseks, kuigi seda tehakse harva, kuna see on vajalik VB DLL-i käitusaja teegi installimiseks Interneti-kliendi masin. Alates VB5-st kompileeriti VB-programme masinkoodiks, kuid need põhinesid DLL-i kasutamisel, mis pakkus tavaliselt kasutatavaid funktsioone ja rakendas VB objektivõimalusi. Huvitav on see, et VB-kompilaator kasutab tõlkimiseks mitmekäigulist režiimi ja tugineb lõpuks Microsoft C++ kompilaatorile, et pärast vahekeelde kompileerimist masinkoodi väljundiks saada. NET-i seemned on nähtavad selles VB funktsioonis – käitusaegse teegi ja C++ taustaprogrammi kasutamises.

Materjalide põhjal:
http://kbyte.ru
http://vba2003.narod.ru
http://orlovs.pp.ru
Simon Robinson, Ollie Cornes, Jay Glynn ja teised "C# professionaalidele".

Need, millel neid kasutati, olid mõeldud kasutamiseks koolitatud tehnikute ja programmeerijate poolt. Kuna masinad olid kallid, oli kallis ka arvutiaeg – seetõttu oli esikohal programmide täitmise kiirus (loenduskiirus).

Kuid 1960. aastatel hakkasid arvutihinnad langema, nii et isegi väikesed ettevõtted said neid endale lubada; nende jõudlus kasvas ja saabus aeg, mil sai võimalikuks ajajagamise režiimis tõhusamalt korraldada kasutajate otsetööd arvutitega ( ajajagamine).

Sünd

Kõrgus

Kuigi seda keelt oli kasutatud juba mitmes miniarvutis, algas selle tõeline levik selle ilmumisega Altair 8800 mikroarvutisse. Paljud programmeerimiskeeled olid liiga suured, et mahtuda väikesesse mälusse, mida selliste masinate kasutajad said endale lubada. Sellise aeglase meediumiga nagu paberlint (hiljem helikassett) ja ilma sobiva tekstiredaktorita masinate jaoks oli selline väike keel nagu BASIC suurepärane leid.

BASIC on kasutusel mõnes programmeeritavate kalkulaatorite mudelites. Näiteks oli see sisse ehitatud nõukogude kalkulaatorisse "Elektroonika MK-85".

Kirjeldus

Keele süntaks meenutab Fortrani ja paljud elemendid on selgelt sealt laenatud. Keel on mõeldud õppimiseks, nii et selle struktuurid on võimalikult lihtsad. Nagu teisteski programmeerimiskeeltes, on märksõnad võetud inglise keelest. On kaks peamist andmetüüpi: stringid ja numbrid. Visual Basicu ja selle erinevate modifikatsioonide (nt VBA) tulekuga tõi keel kasutusele palju muid tänapäevastele programmeerimiskeeltele omaseid andmetüüpe ja täiendusi (näiteks objektmudelit). Muutujate deklareerimine ei nõua spetsiaalset sektsiooni (erinevalt näiteks Pascalist). Muutuja deklareerimine on esimene kord, kui seda kasutatakse.

BASICu varased versioonid (nagu BASICA, GW-BASIC) erinevad oluliselt tänapäevastest murretest ja neid tänapäeval praktiliselt ei kasutata.

Varased versioonid

Programmide ilmumise BASIC-i varajastes versioonides määras suuresti asjaolu, et see oli mõeldud reatekstiredaktoriga programmeerimiskeskkonda. Sellises redaktoris ei olnud kasutajal võimalust kogu teksti ekraanil (aknas) kuvada ega klaviatuuri ja/või hiirt kasutades suvalises suunas liikuda. Rearedaktorites peab kasutaja tekstirea muutmiseks andma käsu muuta rida etteantud numbriga, seejärel sisestama määratud reale uue teksti. Uue rea sisestamiseks tuleb anda sisestamiskäsk, täpsustades uuesti numbri. Sisestatud read kuvatakse ekraanil järjestikku (olenemata numbritest). Tehtud muudatuste nägemiseks kasuta tekstiväljundi käsku, mis kuvab read õiges järjekorras (kasvavas järjekorras).

Kõik see kajastus BASICis. Iga rida algas numbriga. Redaktorisse sisestamisel ilmus rida programmi lähtetekstis selle numbrile vastavas kohas. Uue rea sisestamiseks tuli lisada rida numbriga, mis jäi kahe teise rea numbrite vahele. Ridade laiali ajamine oli võimatu, kui oli vaja kõrvuti asetsevate numbritega ridade vahele lisada uus rida, siis tuli need read uuesti sisestada erinevate numbritega, et tagada numeratsiooni katkestus (või kasutada spetsiaalset RENUM käsku, nummerdas ümber kõik juba sisestatud read konstantse sammuga, muutes sünkroonselt kõiki hüppekäsklusi). Programmi operatiivse redigeerimise lihtsustamiseks töötati välja tava nummerdada ridu sammuga 10 - see võimaldas peaaegu kõigil juhtudel lisada uusi ridu ilma varem sisestatud numbreid muutmata. Näiteks kolmanda rea ​​lisamiseks ridade 20 ja 30 vahele tuleks kirjutada rea ​​number 25. Tavaline BASIC-programmi rida näeb välja selline:

10 TRÜKI "Tere, maailm!"

Olemasolevate ridade arvu käsitsi muutmine ei olnud turvaline, kuna need numbrid toimisid lause GOTO siltidena. Varem lubas BASIC selle operaatori jaoks ainult numbrilisi silte ja kordumatu numbri olemasolu igal real võimaldas tingimusteta hüpata ükskõik millisele neist. Numbrilised sildid ja GOTO-de tihe kasutamine olid BASIC-is programmeerimisel vältimatud, mis aitas kaasa kehvale koodistruktuurile ja põhjustas suurte projektide puhul segadust ka autorite endi jaoks. Humoorikas termin “spagetiprogrammeerimine” (spagettikood) tekkis isegi seetõttu, et sagedaste GOTO-üleminekutega programmi loogika meenutab spagettitaldrikut.

Avalduse lõppu tähistas rea lõpp. Mitme operaatori paigutamiseks ühele reale peate nende vahele panema kooloni (see polnud kõigis keele rakendustes lubatud). Muutujate nimed võisid enamikus murretes koosneda ainult ühest tähest, mille järel võis lisada ühe numbri, mis samuti ei aidanud kaasa koodist arusaamise parandamisele. Stringi tüüpi muutuja loomiseks tuli nime järele määrata dollarimärk ($). Ilma selle märgita muutuja oli numbriline (ujukoma). Numbritüübiga oli seotud veel mitu modifikaatorit: protsendimärk (%) - täisarvu tüüp, hüüumärk (!) - normaaltäpsus, oktotorp (#) - topelttäpsus (ujukomaandmete ehk murdude jaoks). Kõigis versioonides ei kasutatud numbrilisi modifikaatoreid.

Avaldised on sarnased enamiku teiste protseduuriliste programmeerimiskeeltega, kuid BASICu esimestes versioonides oli nende komplekt üsna kehv.

Tingimuslikul operaatoril (IF..THEN) oli algselt ainult üks haru - ELSE haru selles puudus ja modelleeriti tingimusteta hüppe abil. Niisiis tehakse järgmises programmis elementaarne toiming - numbri sisestamine ja sõnumi "Negatiivne arv" või "Positiivne arv või null" kuvamine sõltuvalt selle väärtusest:

10 SISEND I 20 KUI I >= 0 SIIS PRIndi "Positiivne arv või null" : GOTO 40 30 PRINT "Negatiivne arv" 40 LÕPP

Arvutatud sildi ON..GOTO järgi hüppamiseks oli operaator (päritud sarnasest konstruktsioonist Fortranis) - selles oli pärast ON märgitud numbriline avaldis ja pärast GOTO ridade numbrite loend. Üleminek toimus reale, mille number loendis vastas avaldise väärtusele. On ka silmuseid (FOR-loenduriga silmus ja WHILE-eeldusega silmus).

Kasutaja määratletud funktsioonide (korduvkasutatavate koodiosade) kasutamine oli võimalik kahel viisil: määratletud funktsioonid ja alamprogrammid.

Alamprogrammid ei olnud funktsioonide analoogid sellistes keeltes nagu C või Pascal, kuna neil ei olnud nimesid ja nad ei saanud parameetreid vastu võtta ja/või tagastada. Parameetrid ja tulemused viidi läbi globaalsete muutujate kaudu (kõik muutujad BASIC-i varajastes versioonides olid globaalsed). Alamprogrammid kirjutati tavaliselt mooduli lõppu, kusjuures numeratsioon oli ilmselgelt suurem kui planeeritud ridade arv (näiteks alamprogrammide ploki nummerdamine võis alata 5000-st, isegi kui programmis oli paarsada rida). Alamprogrammidel ei olnud pealkirju ega nimesid ning need ei erinenud ühestki teisest kooditükist. Alamprogrammi kutsumiseks kasutati märksõna GOSUB<метка>. See on praktiliselt GOTO kloon, välja arvatud üks asi: naasmine kõnepunkti toimus automaatselt, kui alamprogrammis jõuti märksõna RETURN. GOSUB-id, nagu GOTO-d, aitasid kaasa ainult halvale koodistruktuurile, kuna suurt hulka tingimusteta hüppeid ja alamprogramme sisaldava programmi täitmise jälgimine oli keeruline ülesanne.

Suutmatus alamprogramme nimetada (ja nende üle kontrolli anda), suutmatus edastada parameetreid, kohalike muutujate puudumine ja ainult numbriliste siltide kasutamine suurtes projektides tekitas koodis segadust ja muutis silumise väga keeruliseks.

Mõnes BASIC-murres oli võimalik koodifaili laadida otse programmi täitmise ajal (praegune laaditi maha), kasutades CHAIN-operaatorit. See oli keele üks kasulikumaid omadusi, kuna võimaldas jagada suure projekti mooduliteks, kutsudes neid vajaduse järjekorras.

Kriitika

BASICut on kõvasti kritiseeritud selle pärast, et selle lihtsus ja ülesehituse puudumine soodustavad halbu programmeerimisvõtteid ja harjumusi, mis võivad küll sobida väikeste programmide loomiseks, kuid võivad viia suurte projektide läbikukkumiseni.

Üks Edsger Dijkstra "kõnekaarte" oli avaldus: " Varem BASIC-i õppinud õpilastele head programmeerimist on peaaegu võimatu õpetada. Potentsiaalsete programmeerijatena kannatasid nad pöördumatu vaimse degradatsiooni all».

Lisaks ignoreerivad BASICu kriitikud sageli tõsiasja, et seda ei loodud mitte keerukate programmide professionaalse arengu vahendina, vaid vahendina, mille abil programmeerimata tudengid saaksid kirjutada lihtsaid programme. Kui räägime tänapäevastest murretest ja BASIC-i teostustest, siis on need keele algvormist kaugele nihkunud, struktureeritumad ja oma võimete poolest võrreldavad selliste keeltega nagu C, Pascal jne.

Tootjad

Erinevatel aegadel valmistasid BASIC-tõlke erinevad organisatsioonid, ettevõtted, ettevõtted:

Üleminek Protseduuriline Objekt Mobiilne

Basic4ppc GLBasic NS Basic

Plahvatuslik kasv

Kuigi seda keelt oli juba kasutatud mitmes miniarvutis, sai selle tõeline populaarsus alguse Altair 8800 mikroarvutile ilmumisest. Paljud programmeerimiskeeled olid liiga suured, et mahtuda väikesesse mälusse, mida selliste masinate kasutajad said endale lubada. Sellise aeglase meediumiga nagu paberlint (hiljem helikassett) ja ilma sobiva tekstiredaktorita masinate jaoks oli selline väike keel nagu BASIC suurepärane leid.

Kuid alates 1980. aastate lõpust muutusid uued arvutid palju keerukamaks ja pakkusid funktsioone (näiteks graafilisi kasutajaliideseid), mis muutsid BASICu programmeerimise enam nii lihtsalt. BASIC hakkas oma positsiooni kaotama, hoolimata asjaolust, et suur hulk selle versioone oli endiselt kasutusel ja müügil.

BASIC sai teise elu Microsofti Visual Basicu tulekuga. Kuigi on raske nõustuda, et see keel on tõesti BASIC (vaatamata paljudele tuttavatele märksõnadele), sai sellest mõne aja pärast Windowsi platvormil üks enimkasutatavaid keeli. Microsoft on loonud variandi nimega WordBasic ja kasutas seda MS Wordis kuni Word 97 Option ilmumiseni Visual Basic rakendustele (VBA). Internet Explorer 3.0 ja uuemad versioonid, aga ka Microsoft Outlook sisaldasid VBScripti tõlgi.

BASIC on kasutusel mõnes programmeeritavate kalkulaatorite mudelites. Näiteks oli see sisse ehitatud nõukogude kalkulaatorisse "Elektroonika MK-85".

Keelekirjeldus

Keele süntaks meenutab Fortrani ja paljud elemendid on selgelt sealt laenatud. Keel on mõeldud õppimiseks, nii et selle struktuurid on võimalikult lihtsad. Nagu teisteski programmeerimiskeeltes, on märksõnad võetud inglise keelest. On kaks peamist andmetüüpi: stringid ja numbrid. Visual Basicu ja selle erinevate modifikatsioonide (nt VBA) tulekuga tõi keel kasutusele palju muid tänapäevastele programmeerimiskeeltele omaseid andmetüüpe ja täiendusi (näiteks objektmudelit). Muutujate deklareerimine ei nõua spetsiaalset sektsiooni (erinevalt näiteks Pascalist). Muutuja deklareerimine on esimene kord, kui seda kasutatakse.

BASICu varased versioonid (nagu GWBASIC, QBasic) erinevad oluliselt tänapäevastest murretest ja neid tänapäeval praktiliselt ei kasutata.

Varased versioonid

Programmide ilmumise BASIC-i varajastes versioonides määrab suuresti asjaolu, et see oli mõeldud reatekstiredaktoriga programmeerimiskeskkonda. Sellises redaktoris puudub kasutajal nüüdseks tavapärane võimalus kuvada kogu teksti ekraanil (aknas) ega liikuda selles klaviatuuri ja/või hiire abil suvalises suunas. Rearedaktorites peab kasutaja tekstirea muutmiseks andma käsu muuta rida etteantud numbriga, seejärel sisestama määratud reale uue teksti. Uue rea sisestamiseks tuleb anda sisestamiskäsk, täpsustades uuesti numbri. Sisestatud read kuvatakse ekraanil järjestikku (olenemata numbritest). Tehtud muudatuste nägemiseks kasuta tekstiväljundi käsku, mis kuvab read õiges järjekorras (kasvavas järjekorras).

Kõik see kajastus BASICis. Iga rida algas numbriga. Redaktorisse sisestamisel ilmus rida programmi lähtetekstis selle numbrile vastavas kohas. Uue rea sisestamiseks tuli lisada rida numbriga, mis jäi kahe teise rea numbrite vahele. Ridade laiali ajamine oli võimatu, kui oli vaja kõrvutiasetsevate numbritega ridade vahele lisada uus rida, siis tuli need read uuesti sisestada muude numbritega, et tagada numeratsiooni katkestus (või kasutada spetsiaalset käsku RENUM, mis nummerdas ümber kõik juba sisestatud read konstantse sammuga, muutes sünkroonselt kõiki üleminekukäske). Programmi operatiivse redigeerimise lihtsustamiseks töötati välja tava nummerdada ridu sammuga 10 - see võimaldas peaaegu kõigil juhtudel lisada uusi ridu ilma varem sisestatud numbreid muutmata. Näiteks kolmanda rea ​​lisamiseks ridade 20 ja 30 vahele tuleks kirjutada rea ​​number 25. Tavaline BASIC-programmi rida näeb välja selline:

10 TRÜKI "Tere, maailm!"

Olemasolevate ridade arvu käsitsi muutmine ei olnud turvaline, kuna need numbrid toimisid lause GOTO siltidena. Varem lubas BASIC selle operaatori jaoks ainult numbrilisi silte ja kordumatu numbri olemasolu igal real võimaldas tingimusteta hüpata ükskõik millisele neist. Numbrilised sildid ja GOTO-de tihe kasutamine olid BASIC-is programmeerimisel vältimatud, mis aitas kaasa kehvale koodistruktuurile ja põhjustas suurte projektide puhul segadust ka autorite endi jaoks. Humoorikas termin “spagetikood” võeti kasutusele isegi seetõttu, et sagedaste GOTO-hüpetega programm meenutas mõne arvates spagetitaldrikut.

Avalduse lõppu tähistas rea lõpp. Mitme operaatori paigutamiseks ühele reale peate nende vahele panema kooloni (see polnud kõigis keele rakendustes lubatud). Muutujate nimed võisid enamikus murretes koosneda ainult ühest tähest, mille järel võis lisada ühe numbri, mis samuti ei aidanud kaasa koodist arusaamise parandamisele. Stringi tüüpi muutuja loomiseks tuli nime järele määrata dollarimärk ($). Ilma selle märgita muutuja oli numbriline. Numbritüübiga oli seotud veel mitu modifikaatorit: protsendimärk (%) - täisarvu tüüp, hüüumärk (!) - normaaltäpsus, oktotorp (#) - topelttäpsus (ujukomaandmete ehk murdude jaoks). Kõigis versioonides ei kasutatud numbrilisi modifikaatoreid.

Avaldised on sarnased enamiku teiste protseduuriliste programmeerimiskeeltega, kuid BASICu esimestes versioonides oli nende komplekt üsna kehv.

Tingimuslikul operaatoril (IF..THEN) oli algselt ainult üks haru - ELSE haru selles puudus ja modelleeriti tingimusteta hüppe abil. Niisiis tehakse järgmises programmis elementaarne toiming - numbri sisestamine ja sõnumi "Negatiivne arv" või "Positiivne arv või null" kuvamine sõltuvalt selle väärtusest:

10 SISEND I 20 KUI I >= 0 SIIS PRIndi "Positiivne arv või null" : GOTO 40 30 PRINT "Negatiivne arv" 40 LÕPP

Arvutatud sildi ON..GOTO järgi hüppamiseks oli operaator (päritud sarnasest konstruktsioonist Fortranis) - selles oli pärast ON märgitud numbriline avaldis ja pärast GOTO ridade numbrite loend. Üleminek toimus reale, mille number loendis vastas avaldise väärtusele. On ka silmuseid (FOR-loenduriga silmus ja WHILE-eeldusega silmus).

Kasutaja määratletud funktsioonide (korduvkasutatavate koodiosade) kasutamine oli võimalik kahel viisil: määratletud funktsioonid ja alamprogrammid.

Alamprogrammid ei olnud funktsioonide analoogid sellistes keeltes nagu C või Pascal, kuna neil ei olnud nimesid ja nad ei saanud parameetreid vastu võtta ja/või tagastada. Parameetrid ja tulemused viidi läbi globaalsete muutujate kaudu (kõik muutujad BASIC-i varajastes versioonides olid globaalsed). Alamprogrammid kirjutati tavaliselt mooduli lõppu, kusjuures numeratsioon oli ilmselgelt suurem kui planeeritud ridade arv (näiteks alamprogrammide ploki nummerdamine võis alata 5000-st, isegi kui programmis oli paarsada rida). Alamprogrammidel ei olnud pealkirju ega nimesid ning need ei erinenud ühestki teisest kooditükist. Alamprogrammi kutsumiseks kasutati märksõna GOSUB<метка>. See on praktiliselt GOTO kloon, välja arvatud üks asi: naasmine kõnepunkti toimus automaatselt, kui alamprogrammis jõuti märksõna RETURN. GOSUB-id, nagu GOTO-d, aitasid kaasa ainult halvale koodistruktuurile, kuna suurt hulka tingimusteta hüppeid ja alamprogramme sisaldava programmi täitmise jälgimine oli keeruline ülesanne.

Suutmatus alamprogramme nimetada (ja välja kutsuda), suutmatus edastada parameetreid, kohalike muutujate puudumine ja ainult numbriliste siltide kasutamine suurtes projektides tekitas koodis segadust ja muutis silumise väga keeruliseks.

Mõnes BASIC-murres oli võimalik koodifaili laadida otse programmi täitmise ajal (praegune laaditi maha), kasutades CHAIN-operaatorit. See oli keele üks kasulikumaid omadusi, kuna võimaldas jagada suure projekti mooduliteks, kutsudes neid vajaduse järjekorras.

Varasemates versioonides koodiredaktorit kui sellist ei olnud. Kui BASIC-tõlk käivitati, käivitati dialoogirežiim käskude sisestamiseks. Selles režiimis töötamiseks anti spetsiaalsed käsud, mis ei olnud keele enda operaatorid (neid ei saanud programmikoodi lisada). Need on käsud sisendkeskkonna juhtimiseks, näiteks: LIST<диапазон строк>- programmide loendi kuvamine ekraanil (LLIST - printerisse), SALVESTA<имя файла>- programmi teksti salvestamine faili, LOAD<имя файла>- koodi mällu laadimine jne. Programm käivitati käsu RUN sisestamisega. Enamikul BASIC-tõlkidel oli ekraani allosas rida nende (ja muude) käskudega.

Kui käsk algas reanumbriga (sildiga), salvestati see sisendprogrammi osana mällu. Kui operaatoririda sisestati ilma numbrita, käivitati see kohe pärast sisestusklahvi vajutamist. Esimeste tundidena paluti BASIC õpilastel katsetada režiimi, kus avaldise täitmise tulemus oli kohe näha. Näiteks kui dialoogirežiimis sisestage rida PRINT 2+2 ja vajutage ↵ Sisestage, kuvatakse ekraanil lisamise tulemus.

Juba sisestatud stringi redigeerimiseks tuli enamikus rakendustes see täielikult uuesti tippida. Read kustutati käsuga DELETE.<диапазон строк>. Käsk RENUM võimaldas teil taastada ridade nummerdamise sammu 10. Sageli tekkis olukord, et tulevaste ridade standardsest sammust 10 ei piisanud (kuna selline samm võimaldab lisada ainult 9 rida vajalike ridade vahele) ja siis oli vajalik RENUM käsk (kõik read nummerdati ümber sammuga 10, ja read GOTO-ga kohandati vastavalt uutele nummerdamisridadele).

Programmi käivitamiseks BASIC-is edastati failinimi koos programmikoodiga käsureal olevale tõlgile. Sel juhul kutsuti pärast koodi laadimist automaatselt välja käsk RUN (käivitage programmi täitmine).

Fragment tüüpilisest BASIC-programmist:

10 CLS "Ekraani puhastus 20 PRINT "Tere tulemast!" "Pealkiri esimesel real 30 40 I= 1 KUNI 80 50 PRINT "=" ; 60 JÄRGMINE I 65 "Kasutaja sisestatud tähemärgid (kommentaar lisatud pärast alumiste ridade sisestamist) 70 SISEND "Eesnimi: " , N$ 80 SISEND "Perenimi: " , S$ 90 SISEND "Keskmine nimi: " , T$ 95 100 N2$= VASAKUD$ (N$, 1 ) 110 T2$= VASAKUD$ ( T$, 1) 120 "Kuvame tulemuse 130 TRÜKI "Teie nimi on lühike:";S$;" " ;N2$;". " ;T2$;"." 140 SISEND "Kas korrata programmi? (JAH/E)", 150 U$, KUI U$ = "Y", SIIS MINGE 10 160 LÕPP

Semikoolon funktsioon takistab reavahetust pärast PRINT-lauset. Märksõna END tähendab programmi lõppu. See on valikuline, kui see puudub, lõpetaks programm pärast viimase lause täitmist, kuid see oli kasulik juhtudel, kui alamprogrammide sektsioon oli olemas või programmil oli mitu võimalikku lõpp-punkti (viimasel juhul kas END; pandi igasse sellisesse punkti või oli ainult üks LÕPP ja muudes kohtades tehti talle üleminekuid).

Hilisemad versioonid

Üks levinumaid BASIC-keele variante oli Microsoft Corporationi QBASIC-tõlgi juurutamine. Paljude aastate jooksul lisati see tasuta rakendusena MS-DOS-i ja varajastesse Windowsi operatsioonisüsteemidesse. Erilist tähelepanu väärivad QBASICu üsna võimsad graafika- ja helivõimalused, mis võimaldavad selles keeles programmeerida isegi mänge.

Basic hilisemates versioonides (alates Borland Turbo Basicust ja Microsoft Visual Basicust) erineb järsult varasematest versioonidest. Tegelikult on see uus keel, mis on paljuski lähemal Fortranile või Pascalile kui algsele Basicule. Peamised muudatused 1990. aastate versioonides on järgmised:

  • Loobusime ideest esitada programm nummerdatud ridade struktureerimata komplektina. Reanumbrid muutusid tavalisteks siltideks, mis muutusid valikuliseks ega mõjutanud enam programmi täitmise järjekorda. Kui varem tuli programmis rida number 15 alati enne reanumbrit 20, siis nüüd määrab täitmise järjekorra lähtekoodi ridade järjekord. Sildid pole enam ainult numbrilised.
  • Keelde ilmusid nimelised parameetritega alamprogrammid, alamprogrammide kutsumise mehhanism muutus tavaliseks: alamprogrammi kutsutakse nime järgi, mis näitab tegelike parameetrite loendit.
  • Kasutusele võeti konstruktsioonijuhtimise konstruktsioonid, mille tulemusena ei olnud tavaliste harude ja silmuste korrastamiseks enam vaja kasutada GOTO-lauset ja liinisilte.
  • Andmetüüpide valik on oluliselt laienenud ning on saanud võimalikuks tavamuutujate tüüpe selgesõnaliselt kirjeldada.
  • Sufiksite sisestamine muutujate nimedesse muutus vabatahtlikuks, kuigi nende kasutamine ei olnud keelatud.
  • Hilisemates versioonides võeti kasutusele erandite käsitlemine ja OOP-elementide tugi.
  • Kasutusele võeti mehhanismid modulaarsuse toetamiseks - sai võimalikuks jagada programm mitmeks lähtekoodifailiks ilma "trikkideta" (näiteks moodulite dünaamiline laadimine selgesõnaliste süsteemikutsete abil).
  • Värvilise graafika ja helikaardiga töötamiseks on olemas tööriistad.
  • Graafilise kasutajaliidesega Windowsi rakenduste arendamisele suunatud Visual Basic integreeriti graafilise liidese kujundajaga, mis võimaldas kiirelt kirjutada Windowsi jaoks lihtsaid programme.

Peaaegu kõik keele varasematele versioonidele omased puudused on parandatud ja programmeerimine BASIC-i kaasaegsetes murretes erineb vähe teiste keelte ja keskkondade (näiteks Delphi) kasutamisest. Basicu muutmisprotsessi negatiivne külg on see, et keel on muutunud palju suuremaks ja keerukamaks ning selle valdamine nõuab rohkem aega ja vaeva.

Fragment tüüpilisest FreeBASIC-programmist:

# Lang "fb" Dim As String n,s,t,n2,t2 Cls : Prindi "Tere tulemast!" "Pealkiri esimesel real Tee "Silmus, mis tõmbab pealkirja alla joone kogu ekraani laiuses For i As Integer =1 To LowWord (Width) Trüki "=" ; Järgmine i "Kasutaja sisestatud tähemärk Sisend "Nimi: " ,n Sisesta "Perekonnanimi: " ,s Sisend "Keskmine nimi: " ,t "Lõika nimest ja isanimest välja esimeste märkide koopia n2=vasak (n,1) t2=vasak (t,1) "Kuvame tulemuse Prindi "Teie nimi on lühike:"; s; "" ; n2; "." ; t2; "." Prindi "Kas korrata programmi? (ja/ei)" Silmus LCase ajal (sisend (1) ) ="y" Lõpp 0

Basic-kompilaatoril on palju kaasaegseid rakendusi. Platvormi sees

Tunni eesmärk:

    Tutvustage õpilastele BASIC keele põhitõdesid. Kontrollige oma teadmisi eelmisest õppetunnist. Õpetaja kuulamise oskuse arendamine. Kognitiivse huvi arendamine.

Tunniplaan:

Kodutööde kontrollimine. Uue materjali selgitus. Keele põhimõisted Kodutöö. Õppetunni kokkuvõte.

Tundide ajal

Kodutööde kontrollimine.

Tunni eesmärgi seadmine.

Uue materjali selgitus.

Basic programmeerimiskeele lõid 1964. aastal kaks Dartmuni ülikooli professorit John Kenemy ja Thomas Kurtz. BASIC on ingliskeelsete sõnade Beginner's All-purpose Symbolic Instruction Code (Algajatele mõeldud universaalne programmeerimiskeel) esimesed tähed Levinud on MSX-i versioonid, mida esmakordselt rakendati Jaapani Yamaha arvutitele, ja Microsofti versioon IBM-i arvutitele. Lisaks on meie riigis populaarne Turbo-Basic-versioon Laialt levinud programmeerimiskeel alates võimsate kompilaatorite ilmumisest, on see keel muutunud populaarseks ka professionaalsete programmeerijate seas, nagu ka teistel keeltel.

Keele tähestik. Põhikeele tähestik on ASCII-märkide tabel. Selle tabeli esimene pool (märgid koodiga 0-127) on standardne. Teine pool (märgid koodiga 128-255) on iga riigi jaoks spetsiifiline. Selles tabelis on igal märgil 8-bitine tähistus. Niisiis sisaldab põhikeele tähestik kõiki inglise ja vene tähestiku suur- ja suurtähti, numbreid ning ka arvutiklaviatuuril saadaval olevat erimärkide komplekti.

Muutujad. BASIC-is eristatakse järgmist tüüpi muutujaid:

    numbrilised muutujad; märgimuutujad; kasutaja tüüpi muutujad (kirjed); massiivi muutujad.

Muutuja on väärtus, mis võib programmi täitmise ajal muutuda. Lisaks tabelis märgitutele kirjutatakse täisarvud ka eksponentsiaalses tähises, näiteks

2,55,105 = 2,55E5; 7.15.10-7=7.15E-7

BASIC-programm töötleb kahte tüüpi andmeid – numbrilisi ja sümboolseid. Iga number on masinas esindatud mingi bitikombinatsiooniga. Mis tahes arvu saab masinas esitada erineval viisil:

Täisarv vahemikus –32768 kuni 32768; pikk täisarv vahemikus – kuni; tavalise täpsusega reaalarvud; topelttäpsusega reaalarvud;

Andmeid saab esitada muutujate ja konstantidega.

Muutujad. Muutuja mõistega olete juba algebratundidest tuttav. Näiteks lihtsas algebralises võrdsuses c = f + 2b – 5 tähenduses muutuv koos sõltub võrdsuse paremal küljel näidatud muutuja f ja b väärtusest. Näiteks millal f = 2 Ja b = 6, c = 9 .

Sama võrdsuse saab kirjutada BASIC programmis.

c = f + 2*b – 5

BASIC keele osas c ,f Ja b on muutujate nimed. Selliseid nimesid kutsutakse ka identifikaatorid.

Identifikaatorid. BASIC-keeles on identifikaator suvaline märkide kogum, mis võib sisaldada 1 kuni 40 tähemärki, kus esimene märk peab olema ladina täht ja ülejäänud peavad olema ladina tähed või numbrid või sümbolid nagu @, #, % ja . jne.

Näide :

A, Ds, SodRan, k1, n123, dlina!

BASICu tunnuse tüüp tuvastatakse muutuja nime viimase märgi järgi.

% - täisarv;
& on pikk täisarv;
! – tavalise täpsuse tegelik arv;
# - kahekordse täpsusega reaalarv;
$ on märgitüüp.

BASIC pakub veel ühe viisi muutujatüüpide kirjeldamiseks (qbasic). Kui panna programmi algusesse käsk: DEFINT I – L, siis loetakse täisarvudeks (INTEGER) kõik muutujad, mille nimed algavad tähega I ja jäävad vahemikku kuni täheni L.

Tüübi kirjelduse käsu üldine vorming on:

DEFINT X-X (täisarvud) DEFLNG X-X (pikad pikad täisarvud) DEFSNG X-X (ühekordse täpsusega reaalarvud) DEFDBL X-X (topelttäpsusega reaalarvud topelt) DEFSTR X-X (stringi märgi tüüp)

Konstandid. Konstandid, nii numbrilised kui ka sümboolsed, on suurused, mis programmi täitmise ajal ei muutu.

Näiteks:

p = 3,1415
T$ = "Skorodnja kool"
A=9575
m$="Nädalaplaan"

Mõnikord nimetatakse kirjutatud konstante sõnasõnalised. Konstantide osas peate meeles pidama reegleid:

Täisarvu ja murdosa vaheline eraldaja on punkt; Märgikonstantide väärtused on jutumärkides.

Numbrid saab sisse kirjutada eksponentsiaalne vorm, näiteks:

0,0285=2,85E-2 või 0,0285=2,85D-2
784,527=7,84E+2
või 784,527=7,84D+2

Eksponentsiaalsel kujul kirjutatud arvud on mantissa korrutis suurusjärgus, st 10 astmega –2, +2 jne. Tavalise täpsusega reaalarvude jaoks kasutatakse tähte E, tähte D topelttäpsusega reaalarvud.

Nimetatud konstandid. Kui määrate muutujale väärtuse (numbrilise või sümboolse) ja ei muuda neid väärtusi tulevikus, näiteks:

F3 = 60, n% = 15

KONST <имя_переменной = константа, имя переменной = константе>

Näiteks: CONST F2=60, n%=15

Avaldised ja tehted. Kutsutakse välja toimingute jada, mis tuleb andmetega vajaliku väärtuse saamiseks sooritada väljendus. BASICus on viis toimingute kategooriat:

Aritmeetilised tehted; Suhteoperatsioonid; Loogilised operatsioonid; Funktsionaalsed toimingud; Stringoperatsioonid.

Aritmeetilised tehted.

Operatsiooni nimi

märk
matemaatikas.

logi sisse BASIC

Näide sisse
matemaatik

Näide sisse
BASIC

Astendamine

-

^

25

2^5

Lisand

+

+

5+10

5+10

Lahutamine

-

-

a-b

a-b

Korrutamine

x; .

*

2.5

2*5

Jaoskond

:

/

10:2

10/2

Suhete operatsioonid.

Funktsioon on andmetega eelnevalt määratud toiming. BASICus on kahte tüüpi funktsioone: sisseehitatud ja kasutaja määratud.

Sisseehitatud matemaatilised funktsioonid

Funktsiooni nimi

Matemaatikas kirjutamine

Salvestamine BASICus

Näide keeles BASIC

Absoluutne väärtus

Eksponent

Naturaalne logaritm

Täisarvu jagamise jääk (MOD)

19 MOD 6.7

Ruutjuur

Sinus

SIN(3,14)

Koosinus

Tangent

Arktangent

Numbriline väljendusmärk

Kõik muud trigonomeetrilised funktsioonid, aga ka hüperboolfunktsioonid, määratakse hästi tuntud matemaatiliste valemitega, näiteks ARCSIN(X)=ATN(X/SQR(1-X^2)) .

Ülesannete lahendamisel kasutatakse väga sageli veel kahte funktsiooni.

1.RND(1)- juhuslike arvude generaator, mis määrab juhuslikud arvud vahemikus 0 kuni 1.

Näide:

Määrake juhuslikud arvud vahemikus 1 kuni 100. (Looduslik arv).

N=(RND(1)*100+1)

2. INT (arvuline avaldis)- see funktsioon jätab arvude jagamisel kõrvale murdosa.

Näide:

Esimeses näites on vajalik, et arvud N vahemikus 1 kuni 100 oleksid naturaalarvud.

N=INT(RND(1)*100+1)

Kasutaja funktsioon.

Juhtudel, kui funktsioon ei ole elementaarne või funktsioonil on mitu argumenti, on mugav kasutada kasutajafunktsiooni: DEF FN. Funktsiooni nimi peab alati algama tähtedega FN. DEF FN ei saa olla rekursiivne (ei saa ise helistada) ja see tuleb määratleda enne kasutajat.

Näide:

Olgu X ja Y naturaalarvud. R on X-i jääk, mis on jagatud Y-ga. Väljendage R(X, Y) - R on X ja Y funktsioon.

R=X – INT(X/Y)*Y – ülejäänud divisjonist X peal Y
DEF FN R(X, Y)=X-Y*INT(X/Y)

Selles näites R(X, Y) - kahe argumendi funktsioon.

Matemaatiliste avaldiste kirjutamine BASIC-s.

Kõik BASIC-i matemaatilised avaldised kirjutatakse stringina. Selle väljendi hindamiseks kirjutage selle ette PRINT või?

Arvutama:

https://pandia.ru/text/78/020/images/image003_37.gif" alt="Formula" width="121" height="42 src=">!}

PRINDI (SIN(47*PI/180)-COS(78*PI/180)^2)/(EXP(1.5)-SIN(13*PI/180))

Kirjutage järgmised avaldised BASICus:

Vene nimi: BASIC

Loomise kuupäev: 1963

Loodud mõjul: ALGOL, FORTRAN

Mõjutatud: PROFT

Paradigma: imperatiiv, väärtustasand, skalaar

Tippimine: ebatüüpiline

Aktsepteeritud faililaiendid:.bas, .vb, .vbs

Dialektid: Applesoft BASIC, Commodore BASIC, GW-BASIC, MSX BASIC, Microsoft BASIC, Turbo BASIC, Visual Basic

Teostused ja versioonid: 1771-DB BASIC, AMOS BASIC, AMOS Professional, Easy AMOS, AT&T BASIC, Altair BASIC, AmigaBASIC, Applesoft BASIC Interpreter in Javascript, Applesoft Lite, Atari Microsoft BASIC I/II, BASIC A+, BASIC-11, BASIC-256, BASIC , Bywater BASIC, bwBASIC 2.50, Kassett BASIC, Color BASIC, Commodore BASIC, DOS33, Dartmouth BASIC, EXIL, FreeBASIC, GW-BASIC, Galaksija BASIC, Great Cow BASIC, MBASIC, MSX BASIC, Mon VisualBASIC, Microsoft V. vbnc 2.4.2, NBASIC, PureBasic, QBasic, QuickBASIC, STOS Basic, SmallBASIC, VB.NET, VB.NET 9 (2008), VBScript, Visual Basic rakendustele, WordBasic, hbasic

BASIC(BASIC – lühend sõnadest Beginner’s All-purpose Symbolic Instruction Code – universaalne sümboolsete juhiste kood algajatele; inglise keeles basic – basic, basic) – kõrgetasemeliste programmeerimiskeelte perekond.

BASIC leiutati aastal 1963 aastal Dartmouthi kolledži õppejõudude John Kemeny ja Thomas Kurtzi poolt ning ellu viidi kolledži üliõpilaste meeskond nende juhtimisel. Aja jooksul, kui hakkasid ilmnema ka teised dialektid, sai see "algne" murre nimeks Dartmouth BASIC.

BASIC loodi selleks, et formaalse matemaatikahariduseta õpilased saaksid programme kirjutada. See loodi lahenduseks vanemate keelte keerukusega seotud probleemidele ja oli mõeldud "lihtsamatele" kasutajatele, keda ei huvita mitte niivõrd programmide kiirus, vaid lihtsalt võimalus kasutada arvutit oma probleemide lahendamiseks. . Keele populariseerimiseks jagati tasuta välja esimene koostaja.

Keele kujundamisel sõnastasime kaheksa nõuded sellele:

  • Lihtne kasutada algajatele;
  • Eesmärgi üldistus (spetsialiseerumise puudumine);
  • Võimalus laiendada funktsioone programmeerijatele kättesaadavate tööriistade abil;
  • Interaktiivsus;
  • Selged ja arusaadavad veateated;
  • Kiire töö väikeste programmidega;
  • Programmide kirjutamiseks pole vaja riistvarast aru saada;
  • Tõhus vahendus kasutaja ja operatsioonisüsteemi vahel.

Keel põhines osaliselt Fortran II ja osaliselt edasi ALGOL-60, mille täiendused muudavad selle mugavaks aja jagamiseks, tekstitöötluseks ja maatriksaritmeetikaks. BASIC rakendati algselt GE-265-le mitme terminali toega. Vastupidiselt levinud arvamusele oli see loomise ajal koostatud keel.

Universaalne Keel saavutas populaarsuse 70ndate keskel pärast selle ilmumist mikroarvutitesse. Paljud programmeerimiskeeled olid liiga mahukad, et mahtuda väikesesse mällu. Sellise aeglase kandjaga masinatele nagu paberlint, helikassett ja ilma sobiva tekstiredaktorita oli selline väike keel nagu BASIC suurepärane leid.

IN 1975 Microsoft avaldas Altair BASIC. Pärast seda lasti välja mitu operatsioonisüsteemi, mis kasutasid põhikeelena Basicut. CP/M operatsioonisüsteemi jaoks loodi dialekt BASIC-80, mis määras keele arengu pikaks ajaks.

Sel perioodil loodi palju uusi BASICu kompilaatoreid ja tõlgendajaid. Microsoft müüs mitut BASIC-i versiooni MS-DOS/PC-DOS jaoks, sealhulgas BASICA, GW-BASIC ja QuickBASIC (QBASIC). Firma Borland 1985 vabastatud Turbo BASIC 1.0(Selle hilisemad versioonid müüs hiljem selle nime all teine ​​ettevõte PowerBASIC). Koduarvutitesse on ilmunud erinevad BASIC laiendused, mis sisaldavad tavaliselt tööriistu graafika, heliga töötamiseks, DOS-i käskude täitmiseks, aga ka struktureeritud programmeerimistööriistu. Mõned teised keeled kasutasid tuntud BASIC süntaksit, mille alusel ehitati täiesti erinev süsteem (näiteks GRASS).

Alates 1980. aastate lõpust muutusid uued arvutid palju keerukamaks ja pakkusid funktsioone (nt graafilisi kasutajaliideseid), mis muutsid BASICu programmeerimise enam lihtsaks. BASIC hakkas oma positsiooni kaotama, hoolimata asjaolust, et suur hulk selle versioone oli endiselt kasutusel ja müügil.

BASIC sai teise elu koos Visual Basicu tulekuga Microsoftilt 1991. aastal. See keel meenutas originaali ainult süntaksi poolest, kuid oli palju kaasaegsem. Visual Basic ja selle variandid on muutunud üheks kõige sagedamini kasutatavaks keeleks Windowsi platvormil. Hiljem loodi variant nimega WordBasic, mida kasutati MS Wordis kuni Word 97 tulekuni. Visual Basic for Applications (VBA) ehitati 1993. aastal Excel 5.0-sse, seejärel 1995. aastal Access 95-sse ja seejärel kõikidesse muudesse tööriistadesse Office'i paketis - 1997. aastal. Internet Explorer 3.0 ja uuemad versioonid ning Windowsi saadetised sisaldasid VBScripti skriptikeele tõlki. OpenOffice'i paketi täisversioon sisaldab ka BASIC-tõlki.

Praegu ei ole Basic mitte üks keel, vaid terve perekond keeli, mis erinevad loomise aja, programmeerimisparadigma ja süntaksi poolest, sageli programmide ühilduvuse täieliku kadumiseni. Varased versioonid isegi ei toetanud struktureeritud programmeerimist; Aja jooksul muutus struktureeritud ja protseduuriline programmeerimine üldtunnustatud paradigmadeks ning tekkisid neid toetavad versioonid. Mitmed kaasaegsed kompilaatorid eesotsas Visual Basicu ja VB.NET-iga rakendavad objektorienteeritud ja sündmustele orienteeritud programmeerimist.

QBasic on QuickBasicul põhinev integreeritud arenduskeskkond (IDE) programmeerimiskeele BASIC juurutamiseks. IDE-sse sisestatud lähtekood kompileeriti vahevormile, mida IDE vajadusel tõlgendas.

meeldib QuickBasic, QBasic– struktureeritud programmeerimiskeel, mis toetab alamprogramme ja tingimussilmusi. Programmi ridade nummerdamine on eemaldatud ja seda toetatakse ainult ühilduvuse huvides; selle asemel on kasutusele võetud silte kasutavad üleminekud. QBasicul oli piiratud tugi kasutaja määratletud tüüpidele (struktuuridele) ja mõnele lihtsale tüübile.

QBasic oli mõeldud GW-BASIC asendamiseks. QBasic 1.0 sisaldus MS-DOS 5.0 ja uuemates versioonides, Windows 95, Windows NT 3.x ja Windows NT 4.0. IBM kompileeris QBasicu uuesti ja lisas selle PCDOS 5.x-sse ning hiljem tutvustas OS/2 2.0 ka QBasicu tuge. QBasic 1.1 tarnitakse koos MS-DOS 6.x-ga ja muutmata operatsioonisüsteemides Windows 95, Windows 98 ja Windows Me. Alates operatsioonisüsteemist Windows 2000 lõpetas Microsoft QBasicu lisamise oma operatsioonisüsteemidesse.

QBasic põhines QuickBASIC 4.50 kompilaatori varasemal versioonil, kuid ei sisaldanud ei kompilaatorit ega linkerit. Enne MS-DOS 7 nõudis MS-DOS-i redaktor QBasicut. Programm "edit.com" käivitas QBasicu lihtsalt redaktorirežiimis.

QBasic pakkus pikka aega kaasaegset integreeritud arenduskeskkonda, mis sisaldas paljude funktsioonidega silurit (veebiväljenduse hindamine, koodi muutmine jne). QBasic saab töötada peaaegu kõigis DOS-i ja Windowsi versioonides ning DOSBox-emulaatorit kasutades võib see töötada Linuxis ja FreeBSD-s.

Microsoft QuickBASIC (lühend QBasic on vale, see on täiesti erinev teostus) on BASIC keele kompilaator ja integreeritud arenduskeskkond, mille töötas välja Microsoft Corporation. QuickBasic oli mõeldud DOS-i sihtimiseks, kuid lühikest aega oli olemas ka Mac OS-i versioon. QuickBASIC põhineb GW-BASICil, kuid sisaldab mõningaid täiustusi ja laiendusi: lisatud kasutajaandmete tüübid, täiustatud programmeerimisstruktuurid, täiustatud graafika ja kettakäsitlus. Microsoft levitas QuickBASIC-i kui esimest professionaalset BASIC-programmide arendussüsteemi.

QuickBASIC 1.0 ilmus 18. augustil 1985 ja seda levitati ühel viietollisel kettal. Alates versioonist QuickBASIC 2.0 oli kaasas arenduskeskkond ja kasutajad said programmi otse tekstiredaktoris redigeerida.

Ridade nummerdamist toetati endiselt, kuid seda polnud vaja. Üleminekuid programmis sai teha siltide abil. Hilisemad versioonid lisasid erinevaid juhtimisstruktuure (mitmerealised tingimuslaused, tsükliplokid).

QuickBASIC sisaldas kompilaatorit käivitatavate programmide loomiseks. Redigeerija sisaldas tõlki, mis võimaldas programmeerijal redigeerimisprotsessi ajal programmi käivitada. Tõlki kasutati programmi silumiseks enne kompileerimist. Kuid kahjuks esines probleeme ja mõnikord mõni programm, mis tõlgis korralikult töötas, töötas pärast tõlkimist valesti ja mõnikord isegi ei kompileerinud.

QuickBASIC 4.5- Viimane versioon ilmus 1988. aastal, kuid professionaalse arengu süsteemi (PDS) arendamine jätkus kuni uusima versiooni 7.1 ilmumiseni oktoobris 1990. IDE BASIC PDS 7.x versioon kandis nime QuickBASIC Extended (QBX) ja see töötas ainult all DOS. QuickBASIC ja Basic PDS järglane oli Visual Basic for MS-DOS 1.0. Visual Basicu hilisemad versioonid ei sisaldanud DOS-i versioone, kuna Microsoft keskendus Windowsi rakendustele.

QuickBASIC 4.5 alamhulk sai nimeks QBasic. QBasic kaasati MS-DOS 5 ja uuematesse versioonidesse, mis asendasid GW-BASIC. QBasicul oli QuickBASICuga võrreldes mitmeid piiranguid: see sisaldas ainult interpretaatorit, selle funktsionaalsus oli piiratud, programmide loomine oli piiratud teatud suurusega jne. Kuna see ei sisaldanud kompilaatorit, ei olnud võimalik käivitatavaid faile luua, kuid QBasicus kirjutatud programme sai kompileerida kasutades QuickBASIC 4.5, BASIC PDS 7.x, VBDOS 1.0.

Macintoshi operatsioonisüsteemi jaoks ilmus QuickBASIC 1.0 1988. aastal. See töötas ainult System 6 ja System 7 peal ning nõudis rohkem kui 1 MB RAM-i.