GRUNDLÄGGANDE | |
---|---|
Språkklass | algoritmisk, senare processuell , senare objektorienterad |
Framträdde i | 1964 |
Författare | Thomas Kurtz , John Kemeny |
Utvecklaren | Kurtz, Thomas , Kemeny, John George och Mary Kenneth Keller [d] [1] [2] |
Filtillägg _ | .bas |
Typ system | slapp |
Blivit påverkad | Algol 60 , Fortran II, JOSS |
påverkas | COMAL , GRÄS och många senare dialekter av språket |
Mediafiler på Wikimedia Commons |
BASIC ( BASIC , förkortning för engelska. Beginner's All-purpose Symbolic Instruction Code - en universell kod för symboliska instruktioner för nybörjare [3] ) - en familj av programmeringsspråk på hög nivå .
Den utvecklades 1964 av professorerna Thomas Kurtz och John Kemeny från Dartmouth College [4] .
Språket skapades som ett verktyg med vilket icke-programmerande elever självständigt kunde skapa datorprogram för att lösa sina problem. Det har blivit utbrett i form av olika dialekter, främst som språk för hemdatorer . Hittills har det genomgått betydande förändringar, och gått bort från den enkelhet som är karakteristisk för de första versionerna, på gränsen till primitivism och förvandlats till ett ganska vanligt högnivåspråk med en typisk uppsättning funktioner. Det används som ett oberoende språk för utveckling av applikationsprogram, huvudsakligen under Windows OS av olika versioner. Det används också i stor utsträckning som ett inbyggt språk för programvarusystem för olika ändamål och som ett språk för programmerbara räknare .
Förutsättningen för framväxten av BASIC var den ökade tillgängligheten av datorer på 1960-talet och framväxten av förmågan att arbeta i tidsdelningsläge ( time - sharing ). Studenter och specialister som inte är utbildade programmerare, men som behöver lösa sina problem på en dator, har fått tillgång till datorer.
BASIC skapades 1964 av professorerna John Kemeny och Thomas Kurtz från Dartmouth College och implementerades under deras ledning av ett team av studenter. Med tiden, när andra dialekter började dyka upp, blev den ursprungliga implementeringen känd som Dartmouth BASIC .
BASIC utformades så att eleverna enkelt kunde skriva program med hjälp av tidsdelningsterminaler. Den var avsedd för mer "enkla" användare, inte så mycket intresserade av hastigheten på programexekveringen, utan helt enkelt av möjligheten att använda en dator för att lösa sina problem utan särskild utbildning.
Följande åtta principer användes vid utformningen av språket. Det nya språket var att:
Språket baserades dels på Fortran II och dels på Algol 60 , med tillägg för att göra det lämpligt för tidsdelning och senare textbearbetning och matrisaritmetik. BASIC implementerades ursprungligen på GE-265 stordator med stöd för flera terminaler. Tvärtemot vad många tror var det vid tiden för dess tillkomst ett sammansatt språk.
Även om språket redan användes på flera minidatorer, började dess verkliga spridning med introduktionen av Altair 8800 mikrodator . Många programmeringsspråk var för stora för att passa in i det lilla minne som användare av sådana maskiner hade råd med. För maskiner med långsam media som papperstejp (senare ljudkassett) och ingen lämplig textredigerare var ett litet språk som BASIC en gåva från himlen.
1975 släppte Microsoft (då var det bara två: Bill Gates och Paul Allen - med deltagande av Monte Davidov ), Altair BASIC . Versioner av den dök sedan upp på en annan plattform under licens, och snart fanns det miljontals kopior och varianter i användning: en variant, Applesoft BASIC , blev standardspråket på Apple II . För CP/M - operativsystemet skapades BASIC-80- dialekten , vilket bestämde språkets utveckling under lång tid.
1979 diskuterade Microsoft med flera datorleverantörer (inklusive IBM ) att licensiera BASIC-tolken på sina maskiner. En version ( ROM BASIC ) inkluderades i IBM PC ROM : datorn kunde automatiskt starta upp i BASIC. Eftersom IBM inte fäste någon större vikt vid persondatorer vid den tiden ( stordatorer var dess huvudsakliga verksamhetsområde ), i strid med dess principer, tillät Microsoft att sälja tolken separat. Detta gjorde den senare till en pionjär när det gällde lanseringen av en ny generation mjukvara - inte bunden till specifik hårdvara och levereras separat från datorn.
BASIC upplevde fullt ut ett så välkänt fenomen 1970-1980 som massreproduktion av versioner och dialekter av ett högnivåspråk som i stort sett är oförenliga med varandra. Det fanns flera skäl till detta. Eftersom språket inte ansågs vara ett industriellt språk gjordes inga särskilda ansträngningar för att standardisera det, och varje dator skapade sin egen implementering. Under samma år dök ett stort antal 8-bitars hem- och utbildningsdatorer upp, byggda på basis av processorer som Intel 8080 (sovjetisk analog - KR580VM80A ) eller Z80 , där BASIC var den huvudsakliga (eller enda tillgängliga) hög- nivå språk. Varje datormodell hade vissa hårdvaru- och mjukvarufunktioner, specifika sätt att mata ut ljud och grafik; icke-standardiserade inmatningsverktyg, för vilka specialkommandon och konstruktioner introducerades i BASIC-implementeringen. Ibland implementerades lågnivåprogrammeringsverktyg direkt i BASIC, som att arbeta direkt med fysiskt minne eller hantera hårdvaruavbrott. Därför, om i grunddelen (minimistandarduppsättningen av operatörer och konsolens seriella I/O) de flesta implementeringar var i princip lika, då när det gäller ljudutgång, grafik och mer komplex kontroll av textkonsolen (färghantering, skapa en typ av fönster I/O), de är nästan säkert inkompatibla. Som ett resultat var bara de vanligaste versionerna och dialekterna av BASIC mer än ett dussin, och det totala antalet ofta inkompatibla implementeringar var inte sämre än antalet typer och varianter av datorer i drift.
Perioden med det största välståndet och utvecklingen av den ursprungliga BASIC kan betraktas som slutet av 1970-talet - första hälften av 1980-talet. Under denna period hade nästan alla persondatorer en egen BASIC-tolk, ofta insydd i ROM, som i de enklaste datorerna ofta också utförde ett operativsystems funktioner. Nästan alla mer kraftfulla datorer hade också interaktiva BASIC-system. Det fanns praktiskt taget inga BASIC- kompilatorer , de allra flesta implementeringar var en standardhybrid av en linjeredigerare och en tolk. Med tiden förbättrades språkets grundläggande verktyg, vilket ledde till uppkomsten i vissa implementeringar av komplexa filialoperatörer, ytterligare typer av loopar och namngivna procedurer med parametrar.
Flera nya versioner av BASIC skapades för IBM PC-plattformen. Microsoft sålde BASIC för MS-DOS / PC DOS , inklusive IBM Advanced BASIC (BASICA), GW-BASIC (en modifiering av BASICA som inte kräver "firmware" från IBM) och QuickBASIC . Borland , som ursprungligen kom in på marknaden med sin välkända Turbo Pascal , släppte ett Turbo Basic 1.0- system baserat på samma mjukvarumiljö 1985 ( dess efterföljare såldes senare av ett annat företag under namnet PowerBASIC ). Vissa andra språk använde den välkända BASIC-syntaxen som grund för ett helt annat system (se GRASS till exempel ). Önskan att öka prestanda för BASIC-program ledde till uppkomsten av fullfjädrade kompilatorer (såsom ovannämnda Turbo Basic), såväl som "hybrid"-system där, med bibehållande av tolkning som huvudmetoden för programexekvering, partiell kompilering "on the fly" implementerades, till exempel sammanställning av korta cykler. Dessutom, åtminstone på IBM-plattformen, har pseudokompilering av BASIC-program spridits, när översättaren översätter BASIC-programmet till pseudokod (ofta reversibel) och bildar ett körbart program från tolkobjektmodulen och den kodade modulen med programtexten . Ett sådant program skulle köras och köras som ett vanligt kompilerat objektprogram, även om det förblev väsentligen tolkat.
I mitten av 1980-talet blev BASIC huvudspråket i komplexa modeller av programmerbara miniräknare , som precis vid den här tiden hade nått makten att tillåta användningen av ett fullfjädrat högnivåspråk. Just det faktum att många tillverkare, utan att säga ett ord, valde BASIC som grund för räknarnas högnivåspråk, talar bäst av allt om förekomsten och populariteten för detta språk vid den angivna tiden. Så BASIC byggdes in i den sovjetiska elektroniken MK-85- kalkylatorn och alla dess senare modeller. Användningen av BASIC som det primära högnivåspråket för programmerbara miniräknare fortsätter än i dag; för närvarande är det "kalkylatorn" BASIC som mest liknar originalversionen av 1960-80-talet, till exempel innehåller implementeringen för CITIZEN-kalkylatorer endast 14 nyckelord (räknade inte matematiska funktioner) och tillåter endast variabelnamn med enstaka tecken .
I slutet av 1980-talet blev persondatorer mycket kraftfullare och gav funktioner (som ett grafiskt användargränssnitt ) som inte längre var lika bekväma att använda i BASIC. Dessutom uppträder på datorer av klassen "pedagogiska" och "hem" av billiga översättare av industrispråk (främst Pascal och C), åtföljd av bekväma programmeringsmiljöer och användbara bibliotek (till exempel Borland Pascal med Turbo Vision- biblioteket ) skapade stark konkurrens om BASIC. BASIC började tappa mark, trots att ett stort antal av dess versioner fortfarande användes och såldes. Samtidigt började en snabb förändring av utseendet på de BASIC-system som förblev i drift. Det skedde en gradvis "drift" mot erkända strukturella språk: ordförrådet och uppsättningen av språkkonstruktioner utökades, komplexa grenar dök upp, namngav subrutiner och funktioner, långa variabelnamn. Dessutom gjorde de ökade kapaciteterna hos persondatorer det möjligt att överge de karakteristiska egenskaperna hos BASIC, introducerade för att säkerställa effektivt interaktivt arbete på en textterminal: numeriska markeringar för varje rad och rad för rad redigering.
BASIC fick ett andra liv med tillkomsten av Microsofts Visual Basic . Även om det är svårt att hålla med om att detta språk verkligen är BASIC; det var den logiska slutsatsen av utvecklingen av språket och trots bevarandet av de vanliga nyckelorden, när det gäller struktur och uppsättning funktioner, är det närmare Pascal än den ursprungliga BASIC. Men som ett verktyg för att snabbt skapa praktiskt användbara Windows-program med låg programmerarkvalifikation, visade det sig vara mycket användbart och blev snabbt ett av de mest använda språken på Windows -plattformen . Inte den sista rollen här spelades av den framgångsrika implementeringen av GUI-byggaren som ingår i systemet, som gömde detaljerna i Windows GUI-programmering från utvecklaren och tillät dem att fokusera på uppgiften. Microsoft skapade en variant som heter WordBasic och använde den i MS Word fram till tillkomsten av Word 97. Varianten Visual Basic for Applications (VBA) byggdes in i Microsoft Excel 5.0 1993 , sedan i Access 95 1995 och efter det i alla andra verktyg som ingår i Microsoft Office-paketet . Internet Explorer 3.0 och senare, såväl som Microsoft Outlook , inkluderade en VBScript- tolk .
Språkets syntax liknar Fortran och många element är explicita lån från det. Språket var tänkt för att lära sig, så dess design är så enkla som möjligt. Som med andra programmeringsspråk är nyckelorden hämtade från det engelska språket. Det finns två grundläggande datatyper: strängar och siffror. Med tillkomsten av Visual Basic- versionen , såväl som dess olika modifieringar (som VBA ), dök många andra datatyper och tillägg som är typiska för moderna programmeringsspråk (som objektmodellen) upp i språket. Att deklarera variabler kräver ingen speciell sektion (till skillnad från i Pascal ). Att deklarera en variabel är den första användningen av den.
Tidiga versioner av BASIC (som BASICA , GW-BASIC ) skiljer sig markant från moderna dialekter och används knappt idag.
Utseendet på program i tidiga versioner av BASIC bestämdes till stor del av att det var avsett för en programmeringsmiljö med en radtextredigerare. I en sådan redigerare kunde användaren inte visa all text på skärmen (i fönstret), flytta längs den i valfri riktning med tangentbordet och/eller musen. I radredigerare, för att ändra en textrad, måste användaren ge kommandot att ändra raden med ett givet nummer och sedan ange den nya texten på den angivna raden. För att infoga en ny rad måste du ge kommandot infoga och återigen ange numret. Inmatningssträngarna visas sekventiellt på skärmen (oavsett siffror). För att se de ändringar som gjorts används kommandot output text, som matar ut raderna i rätt ordning (stigande siffror).
Allt detta återspeglas i BASIC. Varje rad börjar med ett nummer. När den skrevs in i editorn dök raden upp i programmets källkod på den position som motsvarar dess nummer. För att infoga en ny rad var det nödvändigt att lägga till en rad med ett nummer som låg i intervallet mellan numren på de andra två raderna. Det var omöjligt att "sprida" raderna om det var nödvändigt att infoga en ny rad mellan rader med intilliggande siffror, du var tvungen att skriva in dessa rader igen med andra siffror för att säkerställa ett avbrott i numreringen (eller använda ett speciellt kommando RENUMsom numrerade om alla redan inmatade rader med ett konstant steg, vilket synkront ändrar alla hoppkommandon). För att förenkla onlineredigeringen av programmet har det blivit en praxis att numrera raderna med steget 10 - detta gjorde det möjligt i nästan alla fall att infoga nya rader utan att ändra de tidigare angivna siffrorna. Till exempel, för att lägga till en tredje rad mellan raderna 20 och 30, skulle man behöva skriva en rad med ett nummer mellan 21 och 29. En typisk rad från ett BASIC-program såg ut så här:
10 SKRIV UT "Hej världen!"Det var inte säkert att manuellt ändra numren på redan befintliga linjer, eftersom numren fungerade som etiketter för operatören GOTO. Tidigare tillät BASIC endast numeriska etiketter för denna operatör, och närvaron av ett unikt nummer på varje rad gjorde det möjligt att villkorslöst hoppa till någon av dem. Numeriska etiketter och tung användning GOTOvar oundvikliga i BASIC-programmering, vilket bidrog till dålig kodstruktur och, i stora projekt, ledde till förvirring hos författarna själva. Skämttermen "pastaprogrammering" ( spagettikod ) myntades till och med, eftersom programlogiken med täta övergångar GOTOliknar en tallrik spagetti.
Operatörens terminator var slutet på linjen. För att placera flera påståenden på en rad måste du sätta ett kolon mellan dem (detta var inte tillåtet i alla implementeringar av språket). Variabelnamn i de flesta dialekter kunde bara bestå av en bokstav, varefter en siffra kunde läggas till, vilket inte heller förbättrade förståelsen av koden. För att skapa en strängtypsvariabel var du tvungen att sätta ett dollartecken ( $) efter namnet. En variabel utan detta tecken var en numerisk (flytande komma) variabel. Det fanns flera andra modifierare relaterade till den numeriska typen: procenttecknet ( %) - en heltalstyp, utropstecknet ( !) - normal precision, oktotorp ( #) - dubbel precision (för flyttalsdata, det vill säga decimalbråk ). I vissa versioner kanske numeriska modifierare inte har tillämpats eller inte alla har tillämpats. I de allra flesta program användes endast den grundläggande numeriska typen.
Uttryck liknar de flesta andra procedurprogrammeringsspråk, men i de första versionerna av BASIC var deras uppsättning ganska dålig. I de tidigaste versionerna nådde antalet nyckelord inte ens 20. Här är en uppsättning grundläggande programkonstruktioner och interaktiva kommandon som implementerades i nästan alla BASIC-system i slutet av 1970-talet:
Den villkorliga operatorn ( IF..THEN) hade från början bara en gren - det fanns ELSEingen gren i den och modellerades med en ovillkorlig övergång. Så i följande program utförs en elementär operation - anger ett nummer och visar meddelandet "Negativt nummer" eller "Positivt nummer eller noll", beroende på dess värde:
10 INPUT I 20 IF I >= 0 SKRIV DÅ UT "Positivt nummer eller noll" : GÅ TILL 40 30 SKRIV UT "Negativt tal" 40 ENDDet fanns en övergångsoperator med en beräknad etikett ON..GOTO(ärvd från en liknande Fortran-konstruktion) - efter PÅ indikerades ett numeriskt uttryck och efter GOTO - en lista med radnummer. Övergången skedde till raden, vars nummer i listan motsvarade uttryckets värde. Det finns också cykler (en cykel med räknare FORoch en cykel med en förutsättning WHILE).
Användningen av användardefinierade funktioner (kodavsnitt, återanvändbara) var möjlig på två sätt: definierade funktioner och subrutiner.
Subrutiner var inte analoga med funktionerna i språk som C eller Pascal , eftersom de inte hade namn och inte kunde acceptera och/eller returnera parametrar. Parametrar och resultat skickades genom globala variabler (alla variabler i tidiga versioner av BASIC var globala). Subrutiner skrevs vanligtvis i slutet av modulen, med numrering uppenbarligen större än det planerade antalet rader (till exempel kunde numreringen av ett block av subrutiner börja från 5000, även om programmet hade ett par hundra rader). Subrutiner hade inga rubriker eller namn och skilde sig inte från någon annan kod. Subrutinen anropades med nyckelordet GOSUB <метка>. Detta är praktiskt taget en klon GOTO, förutom en sak: återgången till anropspunkten skedde automatiskt när nyckelordet nåddes i subrutinen RETURN. GOSUB, liksom GOTO, bidrog bara till dålig kodstruktur, eftersom det var en svår uppgift att spåra exekveringen av ett program som innehåller ett stort antal ovillkorliga hopp och subrutiner. Rekursion var inte tillåten.
Oförmågan att namnge subrutiner (och överföra kontroll över dem), oförmågan att skicka parametrar, frånvaron av lokala variabler, användningen av endast numeriska etiketter i stora projekt orsakade förvirring i koden och gjorde felsökningen mycket svår.
I vissa BASIC-dialekter var det möjligt att ladda en fil med kod direkt under körningen av programmet (den nuvarande laddades ur) av operatören CHAIN. Detta var en av de mest användbara funktionerna i språket, eftersom det gjorde det möjligt för dig att dela upp ett stort projekt i moduler, kalla dem i ordning efter behov.
Det fanns ingen kodredigerare i tidigare versioner, som sådan. När BASIC-tolken startas startade dialogläget för inmatning av kommandon. För att arbeta i detta läge tillhandahölls speciella kommandon som inte var operatörer av själva språket (de kunde inte inkluderas i programkoden). Dessa är kommandon för att hantera inmatningsmiljön, såsom: LIST <диапазон строк> - visa programlistan på skärmen ( LLIST - till skrivaren), SAVE <имя файла> - spara programtexten i en fil, LOAD <имя файла> - ladda koden i minnet etc. Programmet startades av ange kommandot RUN. De flesta BASIC-tolkar hade en rad med dessa (och andra) kommandon längst ner på skärmen.
Om kommandot började med ett radnummer (etikett) lagrades det i minnet som en del av inmatningsprogrammet. Om operatörssträngen skrevs in utan ett nummer, utfördes den omedelbart efter att man tryckte på knappen ↵ Enter. Som de första lektionerna ombads eleverna i BASIC att experimentera med ett sådant läge, när resultatet av utförandet av uttrycket var omedelbart synligt. Om du till exempel anger en sträng i dialogläge PRINT 2+2och trycker ↵ Enterpå kommer resultatet av tillägget att visas på skärmen.
För att redigera en redan inmatad sträng var det i de flesta implementeringar nödvändigt att skriva om den helt. Rader raderades med kommandot DELETE <диапазон строк>. Kommando RENUM - tillåts återställa steg 10 i radnumrering. Ofta var det en situation att det vanliga steget 10 inte räckte för framtida rader (eftersom ett sådant steg gör att du bara kan lägga till 9 rader mellan de nödvändiga) och då var kommandot RENUMnödvändigt (alla rader numrerades om med ett steg på 10, och raderna justerades därefter GOTOför den nya radnumreringen).
För att köra programmet i BASIC skickades filnamnet med programkoden till tolken på kommandoraden. I det här fallet, efter att koden laddats, anropades kommandot RUN (starta programexekvering) automatiskt.
Ett fragment av ett typiskt BASIC-program:
10 CLS 'Rensa skärm 20 SKRIV UT "Välkommen!" 'Titel på första rad 30 'Slinga som drar linjen under titeln till fullskärmsbredd 40 FÖR I = 1 TILL 80 50 PRINT "=" ; 60 NÄSTA I 65 'Teckeninmatning från användaren (kommentar tillagd efter att ha angett de nedersta raden) 70 INPUT "Förnamn: " , N$ 80 INPUT "Efternamn: " , S$ 90 INPUT "Patronym: " , T$ 95 ' Klipp ut en kopia av de första tecknen från för- och mellannamnet 100 N2$ = LEFT$ ( N$ , 1 ) 110 T2$ = LEFT$ ( T$ , 1 ) 120 'Skriv ut resultatet 130 SKRIV UT "Ditt namn är kort: " ; S$ ; "" ; N2$ ; "." ; T2$ ; "." 140 INPUT "Upprepa program? (Y/N) " , U$ 150 IF U$ = "Y" GÅ TILL 10 160 ENDSemikolonet har funktionen att undertrycka en ny rad efter operatorn PRINT. Nyckelordet ENDbetyder programavslutning. Det är valfritt, i sin frånvaro avslutades programmet efter körningen av det sista uttalandet, men det var användbart i fall där det fanns en del av subrutiner, eller programmet hade flera möjliga avslutningspunkter (i det senare fallet, antingen vid varje sådan punkt de satte END, eller ENDdet fanns en, och på den gjordes passager någon annanstans).
En av de vanligaste varianterna av BASIC-språket var implementeringen av QBasic- tolken av Microsoft Corporation . Under många år ingick den som en gratis applikation med MS-DOS och tidiga Windows -operativsystem . Den hade ganska kraftfulla grafiska och ljudfunktioner, så att du kan skapa jämna spel på detta språk.
Senare versioner av BASIC (som börjar med Turbo Basic och Visual Basic ) skiljer sig mycket från tidigare versioner. Faktum är att det är ett nytt språk som på många sätt ligger närmare Fortran eller Pascal än originalet BASIC. De viktigaste ändringarna i 1990-talets versioner är följande:
Nästan alla brister som är inneboende i tidiga versioner av språket har åtgärdats, och programmering i moderna BASIC-dialekter skiljer sig lite från att använda andra språk och miljöer (som Delphi ). Baksidan av Basic modifieringsprocessen är att språket har blivit mycket större och mer komplext, och dess utveckling kräver mer tid och ansträngning.
Fragment av ett typiskt FreeBASIC-program:
# Lang "fb" Dim As String n , s , t , n2 , t2 Cls : Skriv ut "Välkommen!" 'Titel på första raden Gör 'Loop som drar linjen under titeln till helskärmsbredd För i Som heltal = 1 Till LoWord ( Bredd ) Skriv ut "=" ; Nästa i 'Mata in teckendata från användaren Mata in "Förnamn: " , n Mata in "Efternamn: " , s Mata in "Mellannamn: " , t 'Klipp ut en kopia av de första tecknen från förnamnet och patronym n2 = Vänster ( n , 1 ) t2 = Vänster ( t , 1 ) 'Visa resultatet Skriv ut "Ditt namn är kort: " ; s ; "" ; n2 ; "." ; t2 ; "." Skriv ut "Repetera program? (y/n)" Loop While LCase ( Input ( 1 )) = "y" End 0Trots sin popularitet övergav Microsoft 2001 ytterligare stöd för Visual Basic till förmån för ett i grunden nytt Visual Basic .NET-språk - i denna implementering reviderades språket återigen radikalt, och i sitt nuvarande tillstånd sammanfaller det praktiskt taget när det gäller uppsättningen av funktioner med C # -språket , bara detaljerna skiljer syntax och nyckelord. På så sätt har Basic utvecklats från ett verktyg för att skapa program för icke-professionella amatörer till ett fullfjädrat verktyg för att skapa program.
Förutom att skriva fullfjädrade program används BASIC i stor utsträckning som grund för olika skriptspråk (till exempel är makron i Microsoft Office -paketet skrivna på VBA- dialekten ).
Under sin storhetstid (1970-1980) kritiserades BASIC hårt. Förutom att ange de uppenbara bristerna i språket som är förknippat med den syntaktiska fattigdomen i tidiga versioner och frånvaron av många erkända och bekväma konstruktioner och mekanismer, har BASIC kritiserats för det faktum att dess enkelhet och strukturlöshet uppmuntrar användningen av onda utvecklingsmetoder och bidra till utvecklingen av farliga programmeringsvanor som ibland kan vara lämpliga för att snabbt skapa små program för aktuella behov, men som kan leda till att stora projekt kollapsar.
Den allestädes närvarande BASIC-baserade inledande programmeringsutbildningen har fått skarp kritik. Ett av Edsger Dijkstras "telefonkort" var uttalandet:
Studenter som tidigare har läst BASIC är nästan omöjliga att lära ut bra programmering. Som blivande programmerare är de mentalt handikappade utan hopp om återhämtning [5] .
Originaltext (engelska)[ visaDölj]Det är praktiskt taget omöjligt att lära ut bra programmering till elever som tidigare har varit utsatta för BASIC: som potentiella programmerare är de mentalt stympade bortom hopp om förnyelse.
Som svar på kritik noterar BASIC-anhängare att kritiker tillskriver språket de negativa aspekter som bör tillskrivas dess missbruk. Nackdelarna med BASIC (om vi menar de tidiga dialekterna) dyker upp när man försöker professionellt utveckla komplexa och stora program på den och när man använder den som ett basspråk för att undervisa programmerare, men detta språk var inte avsett för någon av dessa applikationer; dess huvuduppgift var att ge icke- programmerare studenter möjlighet att efter minimal träning skriva de enklaste programmen för sina egna behov , för att inte distrahera specialister för detta arbete. Språket är ganska lämpligt för denna uppgift.
Om vi pratar om moderna dialekter och implementeringar av BASIC, så har de gått så långt från språkets ursprungliga form att allt ovanstående knappast kan anses relaterade till dem. Moderna dialekter av BASIC är ganska strukturerade språk, de är jämförbara i kapacitet med språk som C , Pascal , etc.
Vid olika tidpunkter producerades BASIC-tolkar av olika organisationer, företag, företag:
sovjetisk:
Äpple:
|
|
Sinclair :
|
|
|
Övrig:
|
|
BASIC | Dialekter av programmeringsspråket|
---|---|
Klassisk |
|
övergångsperiod |
|
processuella |
|
Objekt |
|
Mobil |
|
Trösta |
|
Programmeringsspråk | |
---|---|
|