Hvem oppfant BASIC programmeringsspråket. Historien om etableringen av programmeringsspråket Basic og Visual Basic. Hvordan det hele begynte

Det grunnleggende programmeringsspråket ble opprettet i 1964 av to professorer ved Dartmouth College, John Kenemi og Thomas Kurtz, for å lære programmeringsferdigheter til studenter. Språket viste seg å være så enkelt og forståelig at det etter en tid begynte å bli brukt i andre utdanningsinstitusjoner. I 1975, med ankomsten av de første mikrodatamaskinene, ble Basic stafettpinnen tatt opp av Bill Gates og Paul Allen, grunnleggerne av Microsoft. Det var de som laget en ny versjon av Basic for de første Altair-datamaskinene (MITS Altairs), som kan kjøre på 4KB RAM. Over tid var det denne versjonen som ble til et av de mest populære programmeringsspråkene i verden. På veien til toppen av herligheten hadde Basic mange vanskeligheter, som den alltid overvant med ære, og da de første personlige datamaskinene IBM PC dukket opp, ble den standarden innen programmering, men i form av GW-Basic. Så var det Turbo Basic, QuickBasic, Basic PDS, men alltid ved utvikling av en ny versjon av språket ble kompatibiliteten med tidligere versjoner opprettholdt og et program skrevet for nesten den første Basic kunne godt (med mindre endringer) fungere i påfølgende versjoner av dette Språk. Men nye tider har kommet, og på begynnelsen av 90-tallet dukket Microsoft Windows-operativsystemet opp med et nytt grafisk brukergrensesnitt (GUI). Livet til programmerere har blitt et helvete. For å lage et enkelt program, måtte du skrive flere sider med kode: lage menyer og vinduer, endre fonter, tømme minne, "tegne"-knapper, etc. Imidlertid var fordelene med det nye grensesnittet så ubestridelige at allerede den tredje versjonen av dette operativsystemet ble de facto-standarden for en personlig datamaskin. På dette tidspunktet var det flere parallelle prosjekter i gang innen Microsoft for å lage et nytt programmeringsspråk for Windows. Og i 1991, under slagordet "nå kan til og med nybegynnere programmerere enkelt lage applikasjoner for Windows", dukket den første versjonen av det nye Microsoft Visual Basic-verktøyet opp. I det øyeblikket vurderte Microsoft ganske beskjedent egenskapene til dette systemet, og rettet det først og fremst mot kategorien nybegynnere og ikke-profesjonelle programmerere. Hovedoppgaven da var å frigi til markedet et enkelt og praktisk utviklingsverktøy i det da ganske nye Windows-miljøet, hvor programmering var et problem selv for erfarne fagfolk. Programmeringssystemet laget av Visual Basic-utviklerne gjorde det mulig å "gå tilbake" fra den komplekse interne strukturen til Windows og lage programmer fra "kuber", som i et byggesett for barn. Menyer, vinduer, lister, knapper, tekstinntastingsfelt og andre Windows-grensesnittelementer ble lagt til programmet ved hjelp av enkle dra-og-slipp-operasjoner. VB-programmerere opprettet sitt første program innen få minutter etter at de begynte å lære dette språket! Dessuten tillot Visual Basic utviklere å lage nye "kube"-objekter som også kunne brukes i programmer sammen med standard. Og selv om mange C-programmerere i det stille humret av Microsofts forsøk på å lage et enkelt og forståelig verktøy for å utvikle Windows-programmer, begynte Visual Basic sin seirende marsj rundt om i verden, og ingenting kunne stoppe denne prosessen. De siste barrierene falt i 1994 med utgivelsen av Visual Basic for Applications. Det var på dette tidspunktet, etter inkluderingen av VBA i Microsoft Office, Basic begynte å bli en av hovedprogrammeringsstandardene for Windows. For Microsoft er Basic-språket av spesiell betydning på en gang, utviklingen av en Basic-versjon for Altair 8800-datamaskinen markerte begynnelsen på programmeringskarrieren til grunnleggerne, Bill Gates og Paul Allen. Derfor, på en gang - i 1989, da tiden kom for å distribuere hovedretningene for å lage utviklingsmiljøer på forskjellige programmeringsspråk mellom forskjellige selskaper, beholdt Microsoft QuickBasic - et miljø for å utvikle programmer i Basic, og nektet for eksempel videre arbeid med språket Pascal-programmering, og overlot det til Borland, som igjen stoppet arbeidet med sin versjon av Basic (Pascal ble senere Delphi-språket). Microsofts Visual Basic, opprinnelig ment som et leketøy, tok programmeringsverdenen med storm. Dens popularitet skyldes to årsaker: relativ enkelhet og produktivitet. VB-programmer er tregere enn deres C/C++-motparter, men de er fortsatt raske nok for mange forretningsformål og krever mye mindre utviklingstid. Skjemaer var den samme innsatsbesparende abstraksjonen som VB tilbød Windows-programmerere. VB IDE gjorde det mulig å designe vinduer grafisk ved å dra kontroller som knapper og listebokser fra verktøylinjen til et skjema. Når du var fornøyd med utseendet til skjemaet, kunne du gå videre til kodesiden og skrive hendelsesbehandlere for hver skjemakontroll. Å utvikle en applikasjon i VB bestod altså i å lage flere skjemaer som snakket sammen og eventuelt konsulterte en database for nødvendig informasjon. Den resulterende formen viste seg å være et vindu, som ga en mye mer praktisk måte å bruke vindusteknikker på. VB har redusert feil ved å fjerne noe skjult C/C++-syntaks. Bortsett fra i spesielle tilfeller var uttrykk begrenset til en enkelt kodelinje, og variabler måtte deklareres og initialiseres på separate kodelinjer. Oppdrags- og sammenligningsoperatorene brukte det samme symbolet, men VB-grammatikk krevde at disse operatorene ble brukt på en måte som tydeliggjorde intensjonen deres. Kanskje viktigst av alt, det var ingen pekepinner – et krav fra Bill Gates siden de første versjonene av Microsoft BASIC. Selv om pekere er nyttige fordi de gir direkte tilgang til minnet på en hvilken som helst adresse, er bruken utsatt for feil hvis de ikke brukes forsiktig. BASICs krav til grammatisk enkelhet stammer fra det faktum at det opprinnelig ble opprettet som et instruksjonsspråk: "Beginner's All-purpose Symbolic Instructional Code." VB versjon 6 er allerede et kraftig språk som kan brukes til å lage distribuerte applikasjoner vha. COM-komponenter og Microsoft Transaction Server Microsoft foreslo en tre-lags tilnærming for klient-server-arkitekturer der tynne brukergrensesnitt samhandlet med eksterne VB-komponenter for å hente data fra en database eller en annen maskin kan skrive skript for nettlesere og automatisere Microsoft Office-applikasjoner. Dessuten kan VB6 brukes til å lage Active-X-kontroller som fungerer med Internet Explorer, selv om dette sjelden gjøres fordi det er nødvendig slik at VB DLL-kjøretidsbiblioteket er installert Internett-klientmaskinen. Fra og med VB5 ble VB-programmer kompilert til maskinkode, men de var basert på bruk av en DLL som ga ofte brukte funksjoner og implementerte VBs objektfunksjoner. Det som er interessant er at VB-kompilatoren bruker multi-pass-modus for oversettelse, og til slutt er avhengig av Microsoft C++-kompilatoren for å produsere maskinkodeutgang etter kompilering til et mellomspråk. Frøene til .NET er synlige i denne funksjonen til VB - bruken av et runtime-bibliotek og en C++-backend.

Basert på materialer:
http://kbyte.ru
http://vba2003.narod.ru
http://orlovs.pp.ru
Simon Robinson, Ollie Cornes, Jay Glynn og andre "C# for professionals".

De de ble brukt på var designet for å betjenes av opplærte teknikere og programmerere. Siden maskiner var dyre, var datatiden også dyr - derfor kom hastigheten på programutførelse (tellehastighet) først.

Men i løpet av 1960-tallet begynte datamaskinprisene å falle slik at selv små selskaper hadde råd til dem; ytelsen deres økte og tiden kom da det ble mulig å organisere mer effektivt direkte arbeid for brukere med datamaskiner i en tidsdelingsmodus ( tidsdeling).

Fødsel

Høyde

Selv om språket allerede hadde blitt brukt på flere minidatamaskiner, begynte dets virkelige spredning med at det dukket opp på Altair 8800-mikrodatamaskinen. Mange programmeringsspråk var for store til å passe inn i det lille minnet som brukere av slike maskiner hadde råd til. For maskiner med et så sakte medium som papirtape (senere lydkassett) og uten egnet tekstredigerer, var et så lite språk som BASIC et flott funn.

BASIC brukes i noen modeller av programmerbare kalkulatorer. For eksempel ble den innebygd i den sovjetiske kalkulatoren "Electronics MK-85".

Beskrivelse

Syntaksen til språket minner om Fortran og mange elementer er tydelig lånt fra den. Språket er designet for læring, så strukturene er så enkle som mulig. Som i andre programmeringsspråk er nøkkelord hentet fra det engelske språket. Det er to hoveddatatyper: strenger og tall. Med bruken av Visual Basic, så vel som dens ulike modifikasjoner (som VBA), introduserte språket mange andre datatyper og tillegg som er typiske for moderne programmeringsspråk (for eksempel som objektmodellen). Deklarering av variabler krever ikke en spesiell seksjon (i motsetning til for eksempel Pascal). Å erklære en variabel er første gang den brukes.

Tidlige versjoner av BASIC (som BASICA, GW-BASIC) skiller seg betydelig fra moderne dialekter og brukes praktisk talt ikke i dag.

Tidlige versjoner

Utseendet til programmer i tidlige versjoner av BASIC ble i stor grad bestemt av det faktum at det var ment for et programmeringsmiljø med en linjetekstredigerer. I en slik editor hadde ikke brukeren mulighet til å vise all teksten på skjermen (i et vindu), eller bevege seg rundt den i noen retning ved hjelp av tastatur og/eller mus. I linjeredigerere, for å endre en tekstlinje, må brukeren gi kommandoen for å endre linjen med et gitt nummer, og deretter skrive inn ny tekst for den angitte linjen. For å sette inn en ny linje, må du gi insert-kommandoen, igjen spesifisere nummeret. De angitte linjene vises på skjermen sekvensielt (uavhengig av tall). For å se endringene som er gjort, bruk tekstutdatakommandoen, som viser linjene i riktig rekkefølge (i stigende rekkefølge).

Alt dette ble reflektert i BASIC. Hver linje begynte med et tall. Når den ble lagt inn i editoren, dukket linjen opp i kildeteksten til programmet på posisjonen som tilsvarer nummeret. For å sette inn en ny linje, måtte du legge til en linje med et tall som var i området mellom tallene på de to andre linjene. Det var umulig å "spre" linjer hvis du trengte å sette inn en ny linje mellom linjer med tilstøtende tall, måtte du legge inn disse linjene med forskjellige tall for å sikre et brudd i nummereringen (eller bruke den spesielle RENUM-kommandoen, som omnummerert alle allerede angitte linjer med et konstant trinn, og endret synkront alle hoppkommandoer). For å forenkle den operative redigeringen av programmet ble det utviklet en praksis for å nummerere linjer i trinn på 10 - dette gjorde det i nesten alle tilfeller mulig å sette inn nye linjer uten å endre tallene på tidligere innlagte. For eksempel, for å legge til en tredje linje mellom linje 20 og 30, må du skrive linje nummer 25. En typisk linje fra et BASIC-program vil se slik ut:

10 SKRIV UT "Hei, verden!"

Det var utrygt å manuelt endre tallene på eksisterende rader, siden tallene fungerte som etiketter for GOTO-setningen. Tidligere tillot BASIC bare numeriske etiketter for denne operatøren, og tilstedeværelsen av et unikt nummer på hver linje gjorde det mulig å hoppe ubetinget til noen av dem. Numeriske etiketter og tung bruk av GOTO-er var uunngåelig ved programmering i BASIC, noe som bidro til dårlig kodestruktur og, i store prosjekter, førte til forvirring for forfatterne selv. Det humoristiske uttrykket "spaghetti-programmering" (spagetti-kode) ble til og med laget fordi logikken til et program med hyppige GOTO-overganger ligner en tallerken med spaghetti.

Slutten av uttalelsen ble indikert ved slutten av linjen. For å plassere flere operatører på én linje, må du sette et kolon mellom dem (dette var ikke tillatt i alle implementeringer av språket). Variabelnavn i de fleste dialekter kunne bestå av kun én bokstav, hvoretter man kunne legge til ett siffer, noe som heller ikke bidro til å forbedre forståelsen av koden. For å lage en variabel av strengtype, måtte du spesifisere et dollartegn ($) etter navnet. En variabel uten dette tegnet var numerisk (flytende komma). Det var flere modifikatorer knyttet til den numeriske typen: prosenttegn (%) - heltallstype, utropstegn (!) - normal presisjon, oktotorpe (#) - dobbel presisjon (for flytende kommadata, det vil si brøker). Numeriske modifikatorer ble ikke brukt i alle versjoner.

Uttrykk ligner på de fleste andre prosedyreprogrammeringsspråk, men i de første versjonene av BASIC var settet deres ganske dårlig.

Den betingede operatøren (IF..THEN) hadde opprinnelig bare én gren - ELSE-grenen var fraværende i den og ble modellert ved hjelp av et ubetinget hopp. Så i det følgende programmet utføres en elementær operasjon - skriv inn et tall og viser meldingen "Negativt tall" eller "Positivt tall eller null" avhengig av verdien:

10 INNGANG I 20 HVIS I >= 0 SKRIV UT "Positivt tall eller null" : GÅ TIL 40 30 SKRIV UT "Negativt tall" 40 SLUTT

Det var en operatør for å hoppe etter beregnet etikett ON..GOTO (arvet fra en lignende konstruksjon i Fortran) - i den, etter ON, ble et numerisk uttrykk angitt, og etter GOTO, en liste over linjenummer. Overgangen skjedde til linjen hvis nummer i listen tilsvarte verdien av uttrykket. Det finnes også løkker (en løkke med FOR-teller og en løkke med WHILE-forutsetning).

Bruken av brukerdefinerte funksjoner (gjenbrukbare deler av kode) var mulig på to måter: definerte funksjoner og subrutiner.

Subrutiner var ikke analoger til funksjoner i språk som C eller Pascal, siden de ikke hadde navn og ikke kunne akseptere og/eller returnere parametere. Parametre og resultater ble sendt gjennom globale variabler (alle variabler i tidlige versjoner av BASIC var globale). Subrutiner ble vanligvis skrevet på slutten av modulen, med nummerering som åpenbart var større enn det planlagte antallet linjer (for eksempel kunne nummereringen av en blokk med subrutiner starte på 5000, selv om programmet hadde et par hundre linjer). Subrutiner hadde ingen overskrifter eller navn, og var ikke forskjellige fra noen annen kode. Subrutinen ble kalt ved å bruke søkeordet GOSUB<метка>. Dette er praktisk talt en klone av GOTO, med unntak av én ting: returen til call pointet skjedde automatisk når RETURN nøkkelordet ble nådd i subrutinen. GOSUB-er, som GOTO-er, bidro bare til dårlig kodestruktur, siden det var en vanskelig oppgave å spore utførelsen av et program som inneholdt et stort antall ubetingede hopp og subrutiner.

Manglende evne til å navngi subrutiner (og gi kontroll over dem), manglende evne til å sende parametere, fravær av lokale variabler, og bruken av kun numeriske etiketter i store prosjekter forårsaket forvirring i koden og gjorde feilsøking svært vanskelig.

I noen BASIC-dialekter var det mulig å laste inn en kodefil direkte under programkjøring (den nåværende ble lastet ut) ved å bruke CHAIN-operatoren. Dette var en av de mest nyttige funksjonene til språket, siden det tillot deg å dele et stort prosjekt inn i moduler, og kalle dem i rekkefølgen etter behov.

Kritikk

BASIC har blitt sterkt kritisert for det faktum at dens enkelhet og mangel på struktur oppmuntrer til dårlige programmeringsteknikker og vaner som kan være passende for å lage små programmer, men som kan føre til at store prosjekter mislykkes.

Et av Edsger Dijkstras "telefonkort" var uttalelsen: " Det er nesten umulig å lære bort god programmering til studenter som tidligere har studert BASIC. Som potensielle programmerere led de irreversibel mental degradering».

I tillegg ignorerer kritikere av BASIC ofte det faktum at det ikke ble laget som et verktøy for faglig utvikling av komplekse programmer, men som et middel som ikke-programmerende studenter kunne skrive enkle programmer. Hvis vi snakker om moderne dialekter og implementeringer av BASIC, har de beveget seg langt fra den opprinnelige formen på språket, er mer strukturerte og kan sammenlignes i evner med språk som C, Pascal, etc.

Produsenter

På forskjellige tidspunkter ble BASIC-tolker produsert av forskjellige organisasjoner, selskaper, firmaer:

Overgangs Prosedyremessig Gjenstand Mobil

Basic4ppc GLBasic NS Basic

Eksplosiv vekst

Selv om språket allerede hadde blitt brukt på flere minidatamaskiner, begynte dets virkelige popularitet med at det dukket opp på Altair 8800-mikrodatamaskinen. Mange programmeringsspråk var for store til å passe inn i det lille minnet som brukere av slike maskiner hadde råd til. For maskiner med et så sakte medium som papirtape (senere lydkassett) og uten egnet tekstredigerer, var et så lite språk som BASIC et flott funn.

Fra slutten av 1980-tallet ble imidlertid nye datamaskiner mye mer komplekse og ga funksjoner (som grafiske brukergrensesnitt) som gjorde at BASIC ikke lenger var like lett å programmere. BASIC begynte å tape terreng, til tross for at et stort antall av versjonene fortsatt var i bruk og solgt.

BASIC fikk et nytt liv med bruken av Visual Basic fra Microsoft. Selv om det er vanskelig å være enig i at dette språket virkelig er BASIC (til tross for de mange kjente nøkkelordene), ble det etter en tid et av de mest brukte språkene på Windows-plattformen. Microsoft har laget en variant kalt WordBasic og brukte det i MS Word til Word 97 dukket opp Visual Basic for applikasjoner (VBA) ble bygget inn i Excel 5.0 i 1993, deretter i Access 95 i 1995, og deretter i alle andre verktøy inkludert i Microsoft Office-pakken. Internet Explorer 3.0 og nyere, samt Microsoft Outlook, inkluderte en VBScript-tolk.

BASIC brukes i noen modeller av programmerbare kalkulatorer. For eksempel ble den innebygd i den sovjetiske kalkulatoren "Electronics MK-85".

Språkbeskrivelse

Syntaksen til språket minner om Fortran, og mange elementer er tydelig lånt fra den. Språket er designet for læring, så strukturene er så enkle som mulig. Som i andre programmeringsspråk er nøkkelord hentet fra det engelske språket. Det er to hoveddatatyper: strenger og tall. Med bruken av Visual Basic, så vel som dens ulike modifikasjoner (som VBA), introduserte språket mange andre datatyper og tillegg som er typiske for moderne programmeringsspråk (for eksempel som objektmodellen). Deklarering av variabler krever ikke en spesiell seksjon (i motsetning til for eksempel Pascal). Å erklære en variabel er første gang den brukes.

Tidlige versjoner av BASIC (som GWBASIC, QBasic) skiller seg betydelig fra moderne dialekter og brukes praktisk talt ikke i dag.

Tidlige versjoner

Utseendet til programmer i tidlige versjoner av BASIC bestemmes i stor grad av det faktum at det var ment for et programmeringsmiljø med en linjetekstredigerer. I en slik editor har ikke brukeren den nå vanlige muligheten til å vise all teksten på skjermen (i et vindu), eller flytte rundt den i noen retning ved å bruke tastaturet og/eller musen. I linjeredigerere, for å endre en tekstlinje, må brukeren gi kommandoen for å endre linjen med et gitt nummer, og deretter skrive inn ny tekst for den angitte linjen. For å sette inn en ny linje, må du gi insert-kommandoen, igjen spesifisere nummeret. De angitte linjene vises på skjermen sekvensielt (uavhengig av tall). For å se endringene som er gjort, bruk tekstutdatakommandoen, som viser linjene i riktig rekkefølge (i stigende rekkefølge).

Alt dette ble reflektert i BASIC. Hver linje begynte med et tall. Når den ble lagt inn i editoren, dukket linjen opp i kildeteksten til programmet på posisjonen som tilsvarer nummeret. For å sette inn en ny linje, måtte du legge til en linje med et tall som var i området mellom tallene på de to andre linjene. Det var umulig å "spre" linjene hvis du trengte å sette inn en ny linje mellom linjer med tilstøtende tall, måtte du legge inn disse linjene på nytt med andre tall for å sikre et brudd i nummereringen (eller bruke den spesielle kommandoen RENUM, som omnummererte alle allerede angitte linjer med et konstant trinn, og endret synkront alle overgangskommandoer). For å forenkle den operative redigeringen av programmet ble det utviklet en praksis for å nummerere linjer i trinn på 10 - dette gjorde det i nesten alle tilfeller mulig å sette inn nye linjer uten å endre tallene på tidligere innlagte. For eksempel, for å legge til en tredje linje mellom linje 20 og 30, må du skrive linje nummer 25. En typisk linje fra et BASIC-program vil se slik ut:

10 SKRIV UT "Hei, verden!"

Det var utrygt å manuelt endre tallene på eksisterende rader, siden tallene fungerte som etiketter for GOTO-setningen. Tidligere tillot BASIC bare numeriske etiketter for denne operatøren, og tilstedeværelsen av et unikt nummer på hver linje gjorde det mulig å hoppe ubetinget til noen av dem. Numeriske etiketter og tung bruk av GOTO-er var uunngåelig ved programmering i BASIC, noe som bidro til dårlig kodestruktur og, i store prosjekter, førte til forvirring for forfatterne selv. Det humoristiske uttrykket "spaghettikode" ble til og med laget fordi et program med hyppige GOTO-hopp av noen ble ansett for å ligne en tallerken med spaghetti.

Slutten av uttalelsen ble indikert ved slutten av linjen. For å plassere flere operatører på én linje, må du sette et kolon mellom dem (dette var ikke tillatt i alle implementeringer av språket). Variabelnavn i de fleste dialekter kunne bestå av kun én bokstav, hvoretter man kunne legge til ett siffer, noe som heller ikke bidro til å forbedre forståelsen av koden. For å lage en variabel av strengtype, måtte du spesifisere et dollartegn ($) etter navnet. En variabel uten dette tegnet var numerisk. Det var flere modifikatorer knyttet til den numeriske typen: prosenttegn (%) - heltallstype, utropstegn (!) - normal presisjon, oktotorpe (#) - dobbel presisjon (for flytende kommadata, det vil si brøker). Numeriske modifikatorer ble ikke brukt i alle versjoner.

Uttrykk ligner på de fleste andre prosedyreprogrammeringsspråk, men i de første versjonene av BASIC var settet deres ganske dårlig.

Den betingede operatøren (IF..THEN) hadde opprinnelig bare én gren - ELSE-grenen var fraværende i den og ble modellert ved hjelp av et ubetinget hopp. Så i det følgende programmet utføres en elementær operasjon - skriv inn et tall og viser meldingen "Negativt tall" eller "Positivt tall eller null" avhengig av verdien:

10 INNGANG I 20 HVIS I >= 0 SKRIV UT "Positivt tall eller null" : GÅ TIL 40 30 SKRIV UT "Negativt tall" 40 SLUTT

Det var en operatør for å hoppe etter beregnet etikett ON..GOTO (arvet fra en lignende konstruksjon i Fortran) - i den, etter ON, ble et numerisk uttrykk angitt, og etter GOTO, en liste over linjenummer. Overgangen skjedde til linjen hvis nummer i listen tilsvarte verdien av uttrykket. Det finnes også løkker (en løkke med FOR-teller og en løkke med WHILE-forutsetning).

Bruken av brukerdefinerte funksjoner (gjenbrukbare deler av kode) var mulig på to måter: definerte funksjoner og subrutiner.

Subrutiner var ikke analoger til funksjoner i språk som C eller Pascal, siden de ikke hadde navn og ikke kunne akseptere og/eller returnere parametere. Parametre og resultater ble sendt gjennom globale variabler (alle variabler i tidlige versjoner av BASIC var globale). Subrutiner ble vanligvis skrevet på slutten av modulen, med nummerering som åpenbart var større enn det planlagte antallet linjer (for eksempel kunne nummereringen av en blokk med subrutiner starte på 5000, selv om programmet hadde et par hundre linjer). Subrutiner hadde ingen overskrifter eller navn, og var ikke forskjellige fra noen annen kode. Subrutinen ble kalt ved å bruke søkeordet GOSUB<метка>. Dette er praktisk talt en klone av GOTO, med unntak av én ting: returen til call pointet skjedde automatisk når RETURN nøkkelordet ble nådd i subrutinen. GOSUB-er, som GOTO-er, bidro bare til dårlig kodestruktur, siden det var en vanskelig oppgave å spore utførelsen av et program som inneholdt et stort antall ubetingede hopp og subrutiner.

Manglende evne til å navngi (og kalle) subrutiner, manglende evne til å sende parametere, fravær av lokale variabler, og bruken av kun numeriske etiketter i store prosjekter forårsaket forvirring i koden og gjorde feilsøking svært vanskelig.

I noen BASIC-dialekter var det mulig å laste inn en kodefil direkte under programkjøring (den nåværende ble lastet ut) ved å bruke CHAIN-operatoren. Dette var en av de mest nyttige funksjonene til språket, siden det tillot deg å dele et stort prosjekt inn i moduler, og kalle dem i rekkefølgen etter behov.

Det var ingen koderedigerer som sådan i tidligere versjoner. Da BASIC-tolken ble lansert, ble en dialogmodus for inntasting av kommandoer startet. For å fungere i denne modusen ble det gitt spesielle kommandoer som ikke var operatører av selve språket (de kunne ikke inkluderes i programkoden). Dette er kommandoer for å kontrollere inndatamiljøet, for eksempel: LIST<диапазон строк>- viser programoversikten på skjermen (LLIST - til skriveren), LAGRE<имя файла>- lagre programteksten til en fil, LOAD<имя файла>- lasting av kode i minnet osv. Programmet ble startet ved å taste inn RUN-kommandoen. De fleste BASIC-tolkene hadde en linje nederst på skjermen med disse (og andre) kommandoene.

Hvis en kommando begynte med et linjenummer (etikett), ble den lagret i minnet som en del av inndataprogrammet. Hvis en operatørlinje ble lagt inn uten nummer, ble den utført umiddelbart etter å ha trykket på Enter-tasten. Som en første leksjon ble BASIC-studenter bedt om å eksperimentere med en modus der resultatet av å utføre et uttrykk var umiddelbart synlig. For eksempel, hvis du, mens du er i dialogmodus, skriv inn linjen PRINT 2+2 og trykk ↵Enter, vil resultatet av tillegget vises på skjermen.

For å redigere en allerede angitt streng, måtte du i de fleste implementeringer skrive den inn på nytt. Rader ble slettet ved hjelp av DELETE-kommandoen.<диапазон строк>. RENUM-kommandoen tillot deg å gjenopprette trinn 10 i linjenummerering. Ofte oppsto det en situasjon at standardtrinn 10 for fremtidige linjer ikke var nok (siden et slikt trinn lar deg legge til bare 9 linjer mellom de nødvendige), og da var RENUM-kommandoen nødvendig (alle linjer ble omnummerert med et trinn på 10, og linjer med GOTO ble justert tilsvarende for de nye nummereringslinjene).

For å kjøre et program i BASIC, ble navnet på filen med programkoden sendt til tolken på kommandolinjen. I dette tilfellet, etter å ha lastet inn koden, ble kommandoen RUN (start programkjøring) kalt automatisk.

Fragment av et typisk BASIC-program:

10 CLS "Skjermrengjøring 20 PRINT "Velkommen!" "Tittel på første linje 30 40 FOR I= 1 TIL 80 50 SKRIV UT "=" ; 60 NESTE I 65 "Tegninndata fra bruker (kommentar lagt til etter nedre linjer angitt) 70 INPUT "Fornavn: " , N$ 80 INPUT "Etternavn: " , S$ 90 INPUT "Mellomnavn: " , T$ 95 100 N2$= LEFT$ (N$, 1 ) 110 T2$= LEFT$ ( T$, 1) 120 "Vi viser resultatet 130 SKRIV UT "Ditt navn er kort:";S$;" " ;N2$;". " ;T2$;"." 140 INNGANG "Gjenta program? (J/N)", U$ 150 HVIS U$= "Y" SÅ GÅ TIL 10 160 END

Semikolonet fungerer for å undertrykke en ny linje etter PRINT-setningen. Nøkkelordet END betyr slutten på programmet. Det er valgfritt at programmet avsluttes etter at den siste setningen ble utført, men det var nyttig i tilfeller der det var en del av subrutiner, eller programmet hadde flere mulige termineringspunkter (i sistnevnte tilfelle, enten en END; ble plassert på hvert slikt punkt, eller det var bare én END, og ​​ved overganger ble gjort til ham andre steder).

Senere versjoner

En av de vanligste variantene av BASIC-språket var implementeringen av QBASIC-tolken av Microsoft Corporation. I mange år var den inkludert som en gratis applikasjon inkludert i MS-DOS og tidlige Windows-operativsystemer. Spesielt å merke seg er de ganske kraftige grafikk- og lydegenskapene til QBASIC, som gjør at selv spill kan programmeres på dette språket.

Basic i senere versjoner (starter med Borland Turbo Basic og Microsoft Visual Basic) skiller seg kraftig fra tidligere versjoner. Faktisk er det et nytt språk som på mange måter er nærmere Fortran eller Pascal enn det originale Basic. De viktigste endringene i 1990-tallsversjonene er som følger:

  • Vi forlot ideen om å presentere et program som et ustrukturert sett med nummererte linjer. Linjenumre ble til vanlige etiketter, som ble valgfrie og ikke lenger påvirket rekkefølgen for programutførelse. Hvis tidligere linje nummer 15 alltid kom før linje nummer 20 i programmet, bestemmes nå utførelsesrekkefølgen av rekkefølgen på linjene i kildekoden. Etiketter er ikke lenger bare numeriske.
  • Navngitte subrutiner med parametere dukket opp på språket, mekanismen for å kalle subrutiner ble vanlig: subrutinen kalles ved navn, noe som indikerer en liste over faktiske parametere.
  • Strukturelle kontrollkonstruksjoner ble introdusert, som et resultat var bruken av GOTO-setningen og linjeetiketter ikke lenger nødvendig for å organisere vanlige grener og løkker.
  • Utvalget av datatyper har utvidet seg betydelig, og det er blitt mulig å eksplisitt beskrive typene ordinære variabler.
  • Det ble valgfritt å skrive suffikser i variabelnavn, selv om bruken ikke var forbudt.
  • Senere versjoner introduserte unntakshåndtering og støtte for OOP-elementer.
  • Mekanismer for å støtte modularitet ble introdusert - det ble mulig, uten "triks" (som dynamisk lasting av moduler ved bruk av eksplisitte systemanrop), å dele et program i flere kildekodefiler.
  • Det finnes verktøy for å jobbe med fargegrafikk og et lydkort.
  • Visual Basic, rettet mot å utvikle Windows-applikasjoner med et grafisk brukergrensesnitt, ble integrert med en grafisk grensesnittdesigner, som gjorde det mulig å raskt skrive enkle programmer for Windows.

Nesten alle manglene som ligger i tidligere versjoner av språket er rettet, og programmering i moderne dialekter av BASIC skiller seg lite fra å bruke andre språk og miljøer (for eksempel som Delphi). Ulempen med Basic modifikasjonsprosessen er at språket har blitt mye større og mer komplekst, og det krever mer tid og krefter å mestre det.

Fragment av et typisk FreeBASIC-program:

# Lang "fb" Dim As String n,s,t,n2,t2 Cls : Skriv ut "Velkommen!" "Tittel på første linje Gjøre "En løkke som trekker en linje under tittelen over hele bredden av skjermen For i Som heltall =1 til lavord (bredde) Skriv ut "=" ; Neste i "Karakterinngang fra bruker Skriv inn "Navn: " ,n Skriv inn "Etternavn: " ,s Skriv inn "Mellomnavn: " ,t "Klipp ut en kopi av de første tegnene fra navnet og patronymet n2=Venstre (n,1 ) t2=Venstre (t,1 ) "Vi viser resultatet Skrive ut "Ditt navn er kort:"; s; " " ; n2; "." ; t2; "." Skrive ut "Gjenta programmet? (y/n)" Loop While LCase (Input (1 ) ) ="y" End 0

Det er mange moderne implementeringer av Basic-kompilatoren. Inkludert i plattformen

Hensikten med leksjonen:

    Introduser elevene til det grunnleggende om BASIC-språket. Sjekk kunnskapene dine fra forrige leksjon. Utvikle evnen til å lytte til læreren. Utvikling av kognitiv interesse.

Timeplan:

Sjekker lekser. Forklaring av nytt materiale. Grunnleggende språkbegrep Lekser. Oppsummering av leksjonen.

I løpet av timene

Sjekker lekser.

Sette mål for leksjonen.

Forklaring av nytt materiale.

Det grunnleggende programmeringsspråket ble opprettet i 1964 av to professorer ved Dartmun University, John Kenemy og Thomas Kurtz. BASIC er de første bokstavene i de engelske ordene Beginner's All-purpose Symbolic Instruction Code (All-purpose programmeringsspråk for nybegynnere For tiden er det mange versjoner av dette språket, som noen ganger er veldig forskjellige fra hverandre for utdanningsinstitusjoner Vanlige er MSX-versjonene, først implementert på den japanske Yamaha-datamaskinen, og Microsoft-versjonen for IBM-datamaskiner. I tillegg er Borland-versjonen av Turbo-Basic populær i vårt land utbredt programmeringsspråk siden bruken av kraftige kompilatorer, har dette språket også blitt populært blant profesjonelle programmerere.

Språkets alfabet. Det grunnleggende språkalfabetet er en tabell med ASCII-tegn. Den første halvdelen av denne tabellen (tegn med kode 0-127) er standard. Den andre halvdelen (tegn kodet 128-255) er spesifikk for hvert land. I denne tabellen har hvert tegn en 8-bits betegnelse. Så, det grunnleggende språkalfabetet inkluderer alle store og store bokstaver i det engelske og russiske alfabetet, tall, samt et sett med spesialtegn som er tilgjengelig på et datamaskintastatur.

Variabler. I BASIC skilles følgende typer variabler ut:

    numeriske variabler; tegnvariabler; brukertypevariabler (poster); matrisevariabler.

En variabel er en mengde som kan endres under programkjøring. I tillegg til de som er angitt i tabellen, er heltall også skrevet i eksponentiell notasjon, for eksempel,

2.55.105=2.55E5; 7.15.10-7=7.15E-7

Et BASIC-program behandler to typer data - numeriske og symbolske. Hvert tall er representert i maskinen med en kombinasjon av biter. Ethvert tall kan representeres i en maskin på forskjellige måter:

Et heltall i området –32768 til 32768; langt heltall i området fra – til; reelle tall med vanlig presisjon; dobbel presisjon reelle tall;

Data kan representeres av variabler og konstanter.

Variabler. Du er allerede kjent med konseptet med en variabel fra algebratimer. For eksempel i en enkel algebraisk likhet c = f + 2b – 5 betydning variabel med avhenger av verdien av variablene f og b angitt på høyre side av likheten. For eksempel når f=2 Og b=6, c=9 .

Den samme likestillingen kan skrives i et BASIC-program.

c = f + 2*b – 5

Når det gjelder BASIC-språket c ,f Og b er variabelnavn. Slike navn kalles også identifikatorer.

Identifikatorer. På BASIC-språket er en identifikator et vilkårlig sett med tegn som kan inneholde fra 1 til 40 tegn, der det første tegnet må være en latinsk bokstav, og resten må være latinske bokstaver eller tall eller symboler som @, #, % og . etc.

Eksempel :

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

Identifikatortypen i BASIC identifiseres med det siste tegnet i variabelnavnet.

% - heltall;
& er et langt heltall;
! – reelt antall ordinær presisjon;
# - reelt tall med dobbel presisjon;
$ er en tegntype.

BASIC gir en annen måte å beskrive variabeltyper (qbasic). Hvis du i begynnelsen av programmet plasserer kommandoen: DEFINT I – L, vil alle variabler hvis navn begynner med bokstaven I og ligger i området opp til bokstaven L, betraktes som heltall (INTEGER).

Det generelle formatet for typebeskrivelseskommandoen er:

DEFINT X-X (heltall) DEFLNG X-X (lange lange heltall) DEFSNG X-X (enkelt presisjon reelle tall) DEFDBL X-X (dobbel presisjon reelle tall doble) DEFSTR X-X (strengtegntype)

Konstanter. Konstanter, både numeriske og symbolske, er mengder som ikke endres under programkjøring.

For eksempel:

p = 3,1415
T$= “Skorodnyanskaya skole”
A=9575
m$="Ukeplan"

Noen ganger kalles de skrevne konstantene bokstavelig. Når det gjelder konstanter, må du huske reglene:

Skillet mellom heltalls- og brøkdelene er en prikk; Verdiene til tegnkonstanter er omgitt av anførselstegn.

Tall kan skrives inn eksponentiell form, for eksempel:

0,0285=2,85E-2 eller 0,0285=2,85D-2
784,527=7,84E+2
eller 784.527=7.84D+2

Tall skrevet i eksponentiell form er produktet av mantissen i en størrelsesorden, dvs. med 10 i potensen –2, +2 osv. Bokstaven E brukes for reelle tall med vanlig presisjon, bokstaven D brukes for reelle tall med dobbel presisjon.

Navngitte konstanter. Hvis du tilordner en variabel en verdi (numerisk eller symbolsk) og ikke endrer disse verdiene i fremtiden, for eksempel:

F3=60, n%=15

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

For eksempel: CONST F2=60, n%=15

Uttrykk og operasjoner. Sekvensen av operasjoner som må utføres på data for å oppnå den nødvendige verdien kalles uttrykk. Det er fem kategorier av operasjoner i BASIC:

Aritmetiske operasjoner; Relasjonsoperasjoner; Logiske operasjoner; Funksjonelle operasjoner; Strengeoperasjoner.

Aritmetiske operasjoner.

Operasjonsnavn

skilt
i matte.

logg inn BASIC

Eksempel i
matematiker

Eksempel i
GRUNNLEGGENDE

Eksponentiering

-

^

25

2^5

Addisjon

+

+

5+10

5+10

Subtraksjon

-

-

a-b

a-b

Multiplikasjon

x; .

*

2.5

2*5

Inndeling

:

/

10:2

10/2

Drift av relasjoner.

Funksjon er en forhåndsdefinert operasjon på data. Det er to typer funksjoner i BASIC: innebygd og brukerdefinert.

Innebygde matematiske funksjoner

Funksjonsnavn

Skrive i matematikk

Opptak i BASIC

Eksempel i BASIC

Absolutt verdi

Utstiller

Logaritme naturlig

Heltallsdivisjonsrest (MOD)

19 MOD 6.7

Kvadratrot

Sinus

SIN(3,14)

Cosinus

Tangent

Arctangens

Numerisk uttrykkstegn

Alle andre trigonometriske funksjoner, så vel som hyperbolske funksjoner, bestemmes av velkjente matematiske formler, for eksempel, ARCSIN(X)=ATN(X/SQR(1-X^2)) .

Når du løser problemer, brukes to funksjoner til veldig ofte.

1.RND(1)- en tilfeldig tallgenerator som setter tilfeldige tall fra området fra 0 til 1.

Eksempel:

Angi tilfeldige tall fra 1 til 100. (Naturlig tall).

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

2. INT(numerisk uttrykk)- denne funksjonen forkaster brøkdelen ved deling av tall.

Eksempel:

I det første eksemplet er det nødvendig at tallene N fra 1 til 100 er naturlige tall.

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

Brukerfunksjon.

I tilfeller der funksjonen ikke er elementær, eller funksjonen har flere argumenter, er det praktisk å bruke en brukerfunksjon: DEF FN. Funksjonsnavnet må alltid begynne med bokstavene FN. DEF FN kan ikke være rekursivt (kan ikke kalle seg selv), og må defineres før brukeren.

Eksempel:

La X og Y være naturlige tall. R er resten av X delt på Y. Uttrykk R(X, Y) - R er en funksjon av X og Y.

R=X - INT(X/Y)*Y - resten av divisjonen X Y
DEF FN R(X, Y)=X-Y*INT(X/Y)

I dette eksemplet R(X, Y) - funksjon av to argumenter.

Skrive matematiske uttrykk i BASIC.

Ethvert matematisk uttrykk i BASIC skrives som en streng. For å evaluere dette uttrykket, skriv bare PRINT eller?

Regne ut:

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

SKRIV UT (SIN(47*PI/180)-COS(78*PI/180)^2)/(EXP(1,5)-SIN(13*PI/180))

Skriv følgende uttrykk i BASIC:

Russisk navn: GRUNNLEGGENDE

Opprettelsesdato: 1963

Laget under påvirkning av: ALGOL, FORTRAN

Påvirket: PROFT

Paradigme: imperativ, verdinivå, skalar

Skriver: atypisk

Godkjente filutvidelser:.bas, .vb, .vbs

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

Implementeringer og versjoner: 1771-DB BASIC, AMOS BASIC, AMOS Professional, Easy AMOS, AT&T BASIC, Altair BASIC, AmigaBASIC, Applesoft BASIC Tolk i Javascript, Applesoft Lite, Atari Microsoft BASIC I/II, BASIC A+, BASIC-11, BASIC-256, BASIC , Bywater BASIC, bwBASIC 2.50, Cassette BASIC, Color BASIC, Commodore BASIC, DOS33, Dartmouth BASIC, EXIL, FreeBASIC, GW-BASIC, Galaksija BASIC, Great Cow BASIC, MBASIC, MSX BASIC, Microsoft Visual Basic, Mono vbnc 2.4.2, NBASIC, PureBasic, QBasic, QuickBASIC, STOS Basic, SmallBASIC, VB.NET, VB.NET 9 (2008), VBScript, Visual Basic for Applications, WordBasic, hbasic

GRUNNLEGGENDE(BASIC – forkortelse for Beginner’s All-purpose Symbolic Instruction Code – universell kode for symbolske instruksjoner for nybegynnere; Engelsk basic – basic, basic) – en familie av programmeringsspråk på høyt nivå.

BASIC ble oppfunnet i 1963 år av Dartmouth College-lærerne John Kemeny og Thomas Kurtz og implementert av et team med studenter under deres ledelse. Over tid, ettersom andre dialekter begynte å dukke opp, ble denne "originale" dialekten kjent som Dartmouth BASIC.

BASIC ble utformet slik at elever uten formell matematikkutdanning kunne skrive programmer. Den ble laget som en løsning på problemene knyttet til kompleksiteten til eldre språk, og var ment for mer "enkle" brukere som ikke så mye var interessert i hastigheten til programmene deres, men ganske enkelt i å kunne bruke datamaskinen til å løse problemene sine. . For å popularisere språket ble den første kompilatoren distribuert gratis.

Ved utformingen av språket formulerte vi åtte krav til det:

  • Enkel å bruke for nybegynnere;
  • Generelt om formål (manglende spesialisering);
  • Muligheten til å utvide funksjonaliteten ved hjelp av verktøy tilgjengelig for programmerere;
  • Interaktivitet;
  • Tydelige og forståelige feilmeldinger;
  • Høy hastighet på arbeid på små programmer;
  • Du trenger ikke å forstå maskinvaren for å skrive programmer;
  • Effektiv formidling mellom brukeren og operativsystemet.

Språket var delvis basert på Fortran II og delvis på ALGOL-60, med tillegg som gjør det praktisk for tidsdeling, tekstbehandling og matrisearitmetikk. BASIC ble opprinnelig implementert på GE-265 med støtte for flere terminaler. I motsetning til det mange tror, ​​var det på oppstartstidspunktet et kompilert språk.

Universell Språket ble populær på midten av 70-tallet etter at det dukket opp på mikrodatamaskiner. Mange programmeringsspråk var for store til å passe inn i et lite minne. For maskiner med så trege medier som papirbånd, lydkassett og uten egnet tekstredigerer, var et så lite språk som BASIC et flott funn.

I 1975 Microsoft utgitt Altair BASIC. Etter dette ble en rekke operativsystemer utgitt med Basic som hovedspråk. En dialekt ble laget for CP/M-operativsystemet BASIC-80, som bestemte utviklingen av språket i lang tid.

I løpet av denne perioden ble det laget mange nye BASIC-kompilatorer og tolker. Microsoft solgte flere versjoner av BASIC for MS-DOS/PC-DOS, inkludert BASICA, GW-BASIC og QuickBASIC (QBASIC). Borland selskap 1985 løslatt Turbo BASIC 1.0(senere versjoner av den ble deretter solgt av et annet selskap under navnet PowerBASIC). Ulike BASIC-utvidelser har dukket opp på hjemmedatamaskiner, vanligvis inkludert verktøy for å jobbe med grafikk, lyd, utføre DOS-kommandoer, samt strukturerte programmeringsverktøy. Noen andre språk brukte den velkjente BASIC-syntaksen som grunnlaget for et helt annet system (for eksempel GRASS).

Fra slutten av 1980-tallet ble nye datamaskiner mye mer komplekse og ga funksjoner (som grafiske brukergrensesnitt) som gjorde at BASIC ikke lenger var like lett å programmere. BASIC begynte å tape terreng, til tross for at et stort antall av versjonene fortsatt var i bruk og solgt.

BASIC fikk et nytt liv med bruken av Visual Basic fra Microsoft i 1991. Dette språket lignet originalen bare i syntaks, men var mye mer moderne. Visual Basic og dens varianter har blitt et av de mest brukte språkene på Windows-plattformen. Senere ble det laget en variant kalt WordBasic, brukt i MS Word frem til bruken av Word 97. Visual Basic for Applications (VBA) ble bygget inn i Excel 5.0 i 1993, deretter i Access 95 i 1995, og deretter i alle andre verktøy inkludert i Office-pakken - i 1997. Internet Explorer 3.0 og nyere, så vel som Windows-forsendelser, inkluderte en tolk for skriptspråket VBScript. Fullversjonen av OpenOffice-pakken inkluderer også en BASIC-tolk.

Foreløpig er Basic ikke ett språk, men en hel familie av språk som er forskjellige i opprettelsestid, programmeringsparadigmer og syntaks, ofte til et punkt med fullstendig tap av programkompatibilitet. Tidlige versjoner støttet ikke engang strukturert programmering; Over tid ble strukturert og prosedyremessig programmering allment aksepterte paradigmer, og versjoner som støttet dem dukket opp. En rekke moderne kompilatorer, ledet av Visual Basic og VB.NET, implementerer objektorientert og hendelsesorientert programmering.

QBasic er et integrert utviklingsmiljø (IDE) for implementering av programmeringsspråket BASIC, basert på QuickBasic. Kildekoden som ble lagt inn i IDE ble kompilert til en mellomform, som IDE tolket etter behov.

Som QuickBasic, QBasic– et strukturert programmeringsspråk som støtter subrutiner og betingede looper. Programlinjenummerering er fjernet og støttes kun for kompatibilitet; i stedet har overganger med etiketter blitt introdusert. QBasic hadde begrenset støtte for brukerdefinerte typer (strukturer) og noen få enkle typer.

QBasic var ment å erstatte GW-BASIC. QBasic 1.0 ble inkludert i MS-DOS 5.0 og nyere, Windows 95, Windows NT 3.x og Windows NT 4.0. IBM kompilerte QBasic på nytt og inkluderte den i PCDOS 5.x, og senere introduserte OS/2 2.0 også støtte for QBasic. QBasic 1.1 leveres med MS-DOS 6.x, og uendret i Windows 95, Windows 98, Windows Me. Fra og med Windows 2000 sluttet Microsoft å inkludere QBasic i sine operativsystemer.

QBasic var basert på en tidlig versjon av QuickBASIC 4.50-kompilatoren, men inneholdt verken en kompilator eller en linker. Før MS-DOS 7 krevde MS-DOS-editoren QBasic. Programmet "edit.com" lanserte ganske enkelt QBasic i redigeringsmodus.

I lang tid ga QBasic et moderne integrert utviklingsmiljø, inkludert en debugger med en rekke funksjoner (online uttrykksevaluering, kodemodifisering, etc.). QBasic kan kjøres under nesten alle versjoner av DOS og Windows, og når du bruker DOSBox-emulatoren, kan den kjøres på Linux og FreeBSD.

Microsoft QuickBASIC (forkortelsen QBasic er feil, det er en helt annen implementering) er et kompilator og integrert utviklingsmiljø for BASIC-språket, som ble utviklet av Microsoft Corporation. QuickBasic ble designet for å målrette DOS, men det var en versjon for Mac OS for en kort tid. QuickBASIC er basert på GW-BASIC, men inkluderer noen forbedringer og utvidelser: lagt til brukerdatatyper, forbedrede programmeringsstrukturer, forbedret grafikk og diskhåndtering. Microsoft distribuerte QuickBASIC som det første profesjonelle BASIC-programutviklingssystemet.

QuickBASIC 1.0 ble utgitt 18. august 1985 og ble distribuert på en enkelt fem-tommers disk. Fra og med QuickBASIC 2.0 ble et utviklingsmiljø inkludert og brukere kunne redigere programmet direkte i et tekstredigeringsprogram.

Linjenummerering ble fortsatt støttet, men det var ikke nødvendig. Overganger i programmet kan gjøres ved hjelp av etiketter. Senere versjoner la til forskjellige kontrollstrukturer (multiline betingede setninger, loop-blokker).

QuickBASIC inkluderte en kompilator for å bygge kjørbare programmer. Redaktøren inneholdt en tolk som tillot programmereren å kjøre programmet under redigeringsprosessen. Tolken ble brukt til å feilsøke programmet før kompilering. Men dessverre var det noen problemer, og noen ganger fungerte et program som fungerte riktig i tolken, etter oversettelse, feil, og noen ganger kompilerte det ikke engang.

QuickBASIC 4.5– Den siste versjonen ble utgitt i 1988, men utviklingen av Professional Development System (PDS) fortsatte til siste versjon 7.1 ble utgitt i oktober 1990. IDE BASIC PDS 7.x-versjonen ble kalt QuickBASIC Extended (QBX) og kjørte kun under DOS. Etterfølgeren til QuickBASIC og Basic PDS var Visual Basic for MS-DOS 1.0. Senere versjoner av Visual Basic inkluderte ikke versjoner for DOS, da Microsoft fokuserte på Windows-applikasjoner.

Et undersett av QuickBASIC 4.5 ble kalt QBasic. QBasic ble inkludert med MS-DOS 5 og senere, som erstattet GW-BASIC. QBasic hadde en rekke begrensninger sammenlignet med QuickBASIC: den inkluderte bare en tolk, det var en begrensning i funksjonaliteten, opprettelsen av programmer var begrenset til en viss størrelse, etc. Siden den ikke inneholdt en kompilator, var det ikke mulig å lage kjørbare filer, men programmer skrevet i QBasic kunne kompileres ved hjelp av QuickBASIC 4.5, BASIC PDS 7.x, VBDOS 1.0.

For Macintosh OS ble QuickBASIC 1.0 utgitt i 1988. Den kjørte bare på System 6 og System 7 og krevde mer enn 1 MB RAM.