ZÁKLADNÍ | |
---|---|
Jazyková třída | algoritmické, později procedurální , později objektově orientované |
Objevil se v | 1964 |
Autor | Thomas Kurtz , John Kemeny |
Vývojář | Kurtz, Thomas , Kemeny, John George a Mary Kenneth Keller [d] [1] [2] |
Přípona souboru | .bas |
Typový systém | laxní |
Byl ovlivněn | Algol 60 , Fortran II, JOSS |
ovlivnil | COMAL , GRASS a mnoho pozdějších dialektů jazyka |
Mediální soubory na Wikimedia Commons |
BASIC ( BASIC , zkratka z angličtiny. Beginner's All-purpose Symbolic Instruction Code - univerzální kód pro symbolické instrukce pro začátečníky [3] ) - rodina programovacích jazyků na vysoké úrovni .
To bylo vyvinuto v roce 1964 profesory Dartmouth College Thomas Kurtz a John Kemeny [4] .
Jazyk vznikl jako nástroj, pomocí kterého mohli studenti neprogramující samostatně vytvářet počítačové programy k řešení svých problémů. Rozšířil se ve formě různých dialektů, především jako jazyk pro domácí počítače . K dnešnímu dni prošel výraznými změnami, ustoupil od jednoduchosti charakteristické pro první verze, hraničil s primitivismem a změnil se v docela obyčejný jazyk na vysoké úrovni s typickou sadou rysů. Používá se jako samostatný jazyk pro vývoj aplikačních programů, pracujících především pod OS Windows různých verzí. Je také široce používán jako vestavěný jazyk pro aplikační softwarové systémy pro různé účely a jako jazyk pro programovatelné kalkulačky .
Předpokladem pro vznik BASICu byla zvýšená dostupnost počítačů v 60. letech a vznik možnosti pracovat v režimu sdílení času ( time -sharing ). K počítačům se dostali studenti a specialisté, kteří nejsou vystudovaní programátoři, ale potřebují řešit své problémy na počítači.
BASIC byl vytvořen v roce 1964 profesory Dartmouth College Johnem Kemenym a Thomasem Kurtzem a pod jejich vedením byl implementován týmem vysokoškolských studentů. Postupem času, jak se začaly objevovat další dialekty, se původní implementace stala známou jako Dartmouth BASIC .
BASIC byl navržen tak, aby studenti mohli snadno psát programy pomocí terminálů pro sdílení času. Byl určen pro „jednodušší“ uživatele, kteří se ani tak nezajímali o rychlost provádění programu, ale jednoduše o možnost používat počítač k řešení svých problémů bez speciálního školení.
Při návrhu jazyka bylo použito následujících osm principů. Nový jazyk měl:
Jazyk byl založen částečně na Fortranu II a částečně na Algolu 60 s dodatky, aby byl vhodný pro sdílení času a později pro zpracování textu a maticovou aritmetiku. BASIC byl původně implementován na sálovém počítači GE-265 s podporou více terminálů. Na rozdíl od všeobecného přesvědčení to byl v době svého vzniku kompilovaný jazyk.
Přestože byl tento jazyk již používán na několika minipočítačích, jeho skutečné rozšíření začalo s uvedením mikropočítače Altair 8800 . Mnoho programovacích jazyků bylo příliš velkých na to, aby se vešly do malé paměti, kterou si uživatelé takových strojů mohli dovolit. Pro stroje s pomalými médii, jako je papírová páska (později audiokazeta) a bez vhodného textového editoru, byl malý jazyk jako BASIC darem z nebes.
V roce 1975 Microsoft (tehdy to byly jen dva: Bill Gates a Paul Allen - za účasti Monte Davidova ) vydal Altair BASIC . Jeho verze se pak objevily na jiné platformě pod licencí a brzy se používaly miliony kopií a variant: jedna varianta, Applesoft BASIC , se stala standardním jazykem na Apple II . Pro operační systém CP/M byl vytvořen dialekt BASIC-80 , který na dlouhou dobu určoval vývoj jazyka.
V roce 1979 Microsoft jednal s několika prodejci počítačů (včetně IBM ) o licenci na interpret BASIC na jejich strojích. Jedna verze ( ROM BASIC ) byla zahrnuta v IBM PC ROM : počítač mohl automaticky zavést BASIC. Vzhledem k tomu, že IBM v té době nepřikládala osobním počítačům velký význam ( sálové počítače byly její hlavní oblastí činnosti ), v rozporu se svými zásadami umožnila Microsoftu prodávat interpret samostatně. To z posledně jmenovaného učinilo průkopníka ve vydávání nové generace softwaru – který není vázán na konkrétní hardware a je dodáván odděleně od počítače.
BASIC naplno zažil tak známý fenomén v letech 1970-1980, jako je masová reprodukce verzí a dialektů jazyka na vysoké úrovni, které jsou do značné míry vzájemně nekompatibilní. Důvodů k tomu bylo několik. Vzhledem k tomu, že jazyk nebyl považován za průmyslový, nebyly vynaloženy žádné zvláštní snahy o jeho standardizaci a každý počítač si vytvořil svou vlastní implementaci. Ve stejných letech se objevilo velké množství 8bitových domácích a výukových počítačů postavených na bázi procesorů jako Intel 8080 (sovětský analog - KR580VM80A ) nebo Z80 , na kterých byl BASIC hlavní (nebo jediný dostupný) high- jazyk na úrovni. Každý model počítače měl určité hardwarové a softwarové vlastnosti, specifické prostředky pro výstup zvuku a grafiky; nestandardní vstupní nástroje, pro jejichž podporu byly v implementaci BASIC zavedeny speciální příkazy a konstrukce. Nízkoúrovňové programovací nástroje byly někdy implementovány přímo v BASICu, například práce přímo s fyzickou pamětí nebo zpracování hardwarových přerušení. Pokud tedy v základní části (minimální standardní sada operátorů a konzolové sériové I/O) byla většina implementací v zásadě podobná, pak z hlediska zvukového výstupu, grafiky a složitějšího ovládání textové konzole (správa barev, vytvoření jakési okna I/O), jsou téměř jistě nekompatibilní. Výsledkem bylo, že pouze nejběžnějších verzí a dialektů BASICu bylo více než tucet a celkový počet často nekompatibilních implementací nebyl nižší než počet typů a odrůd počítačů v provozu.
Za období největšího rozkvětu a rozvoje původního BASICu lze považovat konec 70. let – první polovinu 80. let. V tomto období měly téměř všechny osobní počítače svůj BASIC interpret, často všitý do ROM, který v nejjednodušších počítačích často plnil i funkce operačního systému. Téměř všechny výkonnější počítače měly také interaktivní systémy BASIC. Prakticky neexistovaly kompilátory BASIC , naprostá většina implementací byla standardním hybridem řádkového editoru a interpretu. Postupem času se základní nástroje jazyka zdokonalovaly, což vedlo k tomu, že se v některých implementacích objevily složité operátory větví, další typy smyček a pojmenované procedury s parametry.
Pro platformu IBM PC bylo vytvořeno několik nových verzí BASICu. Microsoft prodal BASIC pro MS-DOS / PC DOS , včetně IBM Advanced BASIC (BASICA), GW-BASIC (modifikace BASIC, která nevyžaduje „firmware“ od IBM) a QuickBASIC . Borland , který původně vstoupil na trh se svým známým Turbo Pascalem , vydal v roce 1985 systém Turbo Basic 1.0 založený na stejném softwarovém prostředí (jeho nástupce následně prodala jiná společnost pod názvem PowerBASIC ). Některé další jazyky používaly známou syntaxi BASIC jako základ, na kterém byl postaven úplně jiný systém (viz například GRASS ). Touha zvýšit výkon programů BASIC vedla ke vzniku plnohodnotných kompilátorů (např. výše zmíněný Turbo Basic), ale i „hybridních“ systémů, ve kterých při zachování interpretace jako hlavní metody provádění programu dochází k částečné kompilaci „on the fly“ bylo realizováno např. sestavení krátkých cyklů. Navíc se minimálně na platformě IBM rozšířila pseudokompilace programů BASIC, kdy překladač přeloží program BASIC do pseudokódu (často vratného) a z modulu interpreter object modulu a zakódovaného modulu s textem programu vytvoří spustitelný program. . Takový program by běžel a běžel jako normální zkompilovaný objektový program, i když zůstal v podstatě interpretován.
V polovině 80. let se BASIC stal hlavním jazykem ve složitých modelech programovatelných kalkulátorů , které právě v této době dosáhly síly umožňující použití plnohodnotného vysokoúrovňového jazyka. O rozšířenosti a oblíbenosti tohoto jazyka v uvedené době nejlépe vypovídá samotný fakt, že mnoho výrobců beze slova zvolilo BASIC jako základ pro jazyk kalkulaček na vysoké úrovni. BASIC byl tedy zabudován do sovětské elektronické kalkulačky MK-85 a všech jejích pozdějších modelů. Použití BASICu jako primárního vysokoúrovňového jazyka pro programovatelné kalkulačky pokračuje dodnes; v současnosti je to „kalkulačka“ BASIC, která se nejvíce podobá původní verzi z 60.-80. let, například implementace pro kalkulačky CITIZEN obsahuje pouze 14 klíčových slov (nepočítám matematické funkce) a umožňuje pouze jednoznakové názvy proměnných .
Koncem 80. let se osobní počítače staly mnohem výkonnějšími a poskytovaly funkce (jako je grafické uživatelské rozhraní ), které již nebylo v BASICu tak pohodlné. Kromě toho se na počítačích objevila „vzdělávací“ a „domácí“ třída levných překladatelů průmyslových jazyků (především Pascal a C), doprovázená pohodlnými programovacími prostředími a užitečnými knihovnami (například Borland Pascal s knihovnou Turbo Vision ) vytvořil silnou konkurenci pro BASIC. BASIC začal ztrácet půdu pod nohama i přesto, že se stále používalo a prodávalo obrovské množství jeho verzí. Zároveň začala rychlá změna vzhledu těch BASIC systémů, které zůstaly v provozu. Docházelo k postupnému „posunu“ směrem k uznávaným strukturálním jazykům: rozšířila se slovní zásoba a soubor jazykových konstruktů, objevily se složité větve, pojmenované podprogramy a funkce, dlouhá jména proměnných. Zvýšené možnosti osobních počítačů navíc umožnily opustit charakteristické rysy BASICu, které byly zavedeny k zajištění efektivní interaktivní práce na textovém terminálu: číselné značky pro každý řádek a editace řádek po řádku.
BASIC dostal druhý život s příchodem Microsoft Visual Basic . I když je těžké souhlasit s tím, že tento jazyk je skutečně ZÁKLADNÍ; byl logickým závěrem evoluce jazyka a i přes zachování obvyklých klíčových slov se co do struktury a sady funkcí blíží Pascalu než původnímu BASICu. Ale jako nástroj pro rychlé vytváření prakticky užitečných Windows programů s nízkou programátorskou kvalifikací se ukázal jako velmi užitečný a rychle se stal jedním z nejpoužívanějších jazyků na platformě Windows . Ne poslední roli zde sehrála úspěšná implementace GUI builderu zahrnutého v systému, který před vývojářem skryl detaily programování GUI Windows a umožnil mu soustředit se na úkol. Microsoft vytvořil variantu nazvanou WordBasic a používal ji v MS Word až do příchodu Wordu 97. Varianta Visual Basic for Applications (VBA) byla zabudována do Microsoft Excel 5.0 v roce 1993 , poté do Accessu 95 v roce 1995 a poté do všech ostatních nástroje obsažené v sadě Microsoft Office . Internet Explorer 3.0 a vyšší, stejně jako Microsoft Outlook , obsahovaly interpret VBScript .
Syntaxe jazyka se podobá Fortranu a mnohé prvky jsou z něj explicitní výpůjčky. Jazyk byl koncipován pro učení, takže jeho návrhy jsou co nejjednodušší. Stejně jako u jiných programovacích jazyků jsou klíčová slova převzata z angličtiny. Existují dva základní datové typy: řetězce a čísla. S příchodem verze Visual Basic a jejích různých modifikací (jako je VBA ) se v jazyce objevilo mnoho dalších datových typů a doplňků, které jsou typické pro moderní programovací jazyky (jako je objektový model). Deklarace proměnných nevyžaduje speciální sekci (na rozdíl od Pascalu ). Deklarování proměnné je jejím prvním použitím.
Rané verze BASICu (jako BASICA , GW-BASIC ) se výrazně liší od moderních dialektů a dnes se téměř nepoužívají.
Vzhled programů v raných verzích BASICu byl do značné míry dán tím, že byl určen pro programovací prostředí s editorem řádkového textu. V takovém editoru nebyl uživatel schopen zobrazit veškerý text na obrazovce (v okně), pohybovat se po něm libovolným směrem pomocí klávesnice a / nebo myši. V řádkových editorech pro změnu řádku textu musí uživatel zadat příkaz ke změně řádku s daným číslem a poté zadat nový text zadaného řádku. Chcete-li vložit nový řádek, musíte zadat příkaz insert, opět s uvedením čísla. Vstupní řetězce se na obrazovce zobrazují postupně (bez ohledu na čísla). Pro zobrazení provedených změn se používá příkaz output text, který vypíše řádky ve správném pořadí (vzestupně čísla).
To vše se odráží v BASICu. Každý řádek začíná číslem. Po zadání do editoru se řádek objevil ve zdrojovém kódu programu na pozici odpovídající jeho číslu. Pro vložení nového řádku bylo nutné přidat řádek s číslem, které bylo v rozmezí mezi čísly dalších dvou řádků. Nebylo možné řádky "roztáhnout", pokud bylo nutné vložit nový řádek mezi řádky se sousedními čísly, bylo nutné tyto řádky znovu zadat s jinými čísly, aby bylo zajištěno přerušení číslování (nebo použít speciální příkaz RENUM, který přečísloval všechny již zadané řádky s konstantním krokem, synchronně měnící všechny příkazy skoku). Pro zjednodušení on-line editace programu se stalo zvykem číslovat řádky s krokem 10 – to umožnilo téměř ve všech případech vkládat nové řádky beze změny dříve zadaných čísel. Chcete-li například přidat třetí řádek mezi řádky 20 a 30, museli byste napsat řádek s číslem mezi 21 a 29. Typický řádek z programu BASIC vypadal takto:
10 TISKNOUT "Ahoj, světe!"Nebylo bezpečné ručně měnit čísla již existujících linek, protože čísla fungovala jako štítky pro operátora GOTO. Dříve BASIC povoloval pro tento operátor pouze číselné štítky a přítomnost jedinečného čísla na každém řádku umožňovala bezpodmínečně přeskočit na kterýkoli z nich. Číselné štítky a intenzivní používání GOTObyly v programování BASIC nevyhnutelné, což přispělo ke špatné struktuře kódu a ve velkých projektech vedlo ke zmatení samotných autorů. Dokonce byl vytvořen vtipný termín „programování těstovin“ ( kód špaget ), protože programová logika s častými přechody GOTOpřipomíná talíř špaget.
Terminátor operátora byl konec linky. Chcete-li umístit několik příkazů na jeden řádek, musíte mezi ně vložit dvojtečku (to nebylo povoleno ve všech implementacích jazyka). Názvy proměnných se ve většině dialektů mohly skládat pouze z jednoho písmene, za které bylo možné přidat jednu číslici, což také nezlepšilo porozumění kódu. Chcete-li vytvořit proměnnou typu řetězec, museli jste za název vložit znak dolaru ( $). Proměnná bez tohoto znaménka byla číselná (s plovoucí desetinnou čárkou). K číselnému typu se vztahovalo několik dalších modifikátorů: znak procenta ( %) - celočíselný typ, vykřičník ( !) - normální přesnost, octothorp ( #) - dvojitá přesnost (pro data s plovoucí desetinnou čárkou, tedy desetinné zlomky ). V některých verzích nemusely být použity číselné modifikátory nebo nebyly použity všechny. V naprosté většině programů byl použit pouze základní číselný typ.
Výrazy jsou podobné většině ostatních procedurálních programovacích jazyků, ale v prvních verzích BASICu byla jejich sada spíše chudá. V nejstarších verzích počet klíčových slov nedosahoval ani 20. Zde je sada základních programových konstrukcí a interaktivních příkazů, které byly implementovány v téměř jakémkoli systému BASIC konce 70. let:
Podmíněný operátor ( IF..THEN) měl zpočátku pouze jednu větev – ELSEžádná větev v něm nebyla a byl modelován pomocí nepodmíněného přechodu. V následujícím programu se tedy provede elementární operace - zadání čísla a zobrazení zprávy „Záporné číslo“ nebo „Pozitivní číslo nebo nula“, v závislosti na jeho hodnotě:
10 VSTUP I 20 POKUD I >= 0 TAK VYTISKNOUT "Pozitivní číslo nebo null" : GOTO 40 30 TISKNOUT "Záporné číslo" 40 KONECExistoval přechodový operátor podle vypočítaného štítku ON..GOTO(zděděného z podobné fortranské konstrukce) - po ON byl uveden číselný výraz a za GOTO - seznam čísel řádků. Přechod nastal na řádek, jehož číslo v seznamu odpovídalo hodnotě výrazu. Existují také cykly (cyklus s čítačem FORa cyklus s předběžnou podmínkou WHILE).
Použití uživatelsky definovaných funkcí (sekcí kódu, opakovaně použitelné) bylo možné dvěma způsoby: definovanými funkcemi a podprogramy.
Podprogramy nebyly analogické funkcím jazyků, jako je C nebo Pascal , protože neměly názvy a nemohly přijímat a / nebo vracet parametry. Parametry a výsledky byly předávány prostřednictvím globálních proměnných (všechny proměnné v raných verzích BASICu byly globální). Podprogramy byly obvykle psány na konci modulu, s číslováním zjevně větším, než je plánovaný počet řádků (např. číslování bloku podprogramů mohlo začínat od 5000, i když měl program několik stovek řádků). Podprogramy neměly žádná záhlaví ani jména a nelišily se od žádného jiného kódu. Podprogram byl volán pomocí klíčového slova GOSUB <метка>. Toto je prakticky klon GOTO, až na jednu věc: návrat k volacímu bodu nastal automaticky po dosažení klíčového slova v podprogramu RETURN. GOSUB, stejně jako GOTO, pouze přispěly ke špatné struktuře kódu, protože bylo obtížné sledovat provádění programu obsahujícího velké množství nepodmíněných skoků a podprogramů. Rekurze nebyla povolena.
Nemožnost pojmenovat podprogramy (a přenést nad nimi kontrolu), nemožnost předávat parametry, absence lokálních proměnných, použití pouze číselných štítků ve velkých projektech způsobilo zmatek v kódu a velmi znesnadnilo ladění.
V některých dialektech BASIC bylo možné načíst soubor s kódem přímo během provádění programu (aktuální byl uvolněn) operátorem CHAIN. To byla jedna z nejužitečnějších funkcí jazyka, protože vám umožňovala rozdělit velký projekt do modulů a volat je podle potřeby.
V dřívějších verzích jako takový neexistoval žádný editor kódu . Při spuštění překladače BASIC se spustil dialogový režim pro zadávání příkazů. Pro práci v tomto režimu byly poskytnuty speciální příkazy, které nebyly operátory samotného jazyka (nemohly být zahrnuty do kódu programu). Jedná se o příkazy pro správu vstupního prostředí, jako je: LIST <диапазон строк> - zobrazení výpisu programu na obrazovce ( LLIST - na tiskárnu), SAVE <имя файла> - uložení textu programu do souboru, LOAD <имя файла> - načtení kódu do paměti atd. Program byl spuštěn zadáním příkazu RUN. Většina překladačů BASICu měla řádek s těmito (a dalšími) příkazy ve spodní části obrazovky.
Pokud příkaz začínal číslem řádku (návěští), byl uložen do paměti jako součást vstupního programu. Pokud byl operátorský řetězec zadán bez čísla, byl proveden ihned po stisknutí klávesy ↵ Enter. Jako první lekce byli studenti v BASICu požádáni o experiment s takovým režimem, kdy byl výsledek provedení výrazu okamžitě viditelný. Pokud například zadáte řetězec v dialogovém režimu PRINT 2+2a stisknete ↵ Enter, výsledek přidání se zobrazí na obrazovce.
Pro úpravu již zadaného řetězce bylo ve většině implementací nutné jej celý přepsat. Řádky byly odstraněny příkazem DELETE <диапазон строк>. Příkaz RENUM - povoleno obnovit krok 10 v číslování řádků. Často nastala situace, že běžný krok 10 pro budoucí řádky nestačil (protože takový krok umožňuje přidat pouze 9 řádků mezi požadované řádky) a pak byl příkaz RENUMnutný (všechny řádky byly přečíslovány s krokem 10, a řádky byly odpovídajícím způsobem upraveny GOTOpro nové číslování řádků) .
Pro spuštění programu v BASICu byl název souboru s kódem programu předán interpretu na příkazovém řádku. V tomto případě byl po načtení kódu automaticky zavolán příkaz RUN (spustit provádění programu).
Fragment typického programu BASIC:
10 CLS 'Vymazat obrazovku 20 TISKNOUT "Vítejte!" 'Nadpis na prvním řádku 30 'Smyčka, která vykresluje řádek pod nadpisem na šířku celé obrazovky 40 FOR I = 1 AŽ 80 50 PRINT "=" ; 60 NEXT I 65 'Vložení znaků od uživatele (komentář přidán po zadání spodních řádků) 70 INPUT "Jméno: " , N$ 80 INPUT "Příjmení: " , S$ 90 INPUT "Patronymic: " , T$ 95 ' Vystřihněte kopii prvních znaků z křestního a prostředního jména 100 N2$ = LEFT$ ( N$ , 1 ) 110 T2$ = LEFT$ ( T$ , 1 ) 120 'Vytisknout výsledek 130 TISKNOUT "Vaše jméno je krátké: " ; S$ ; "" ; N2$ ; "." ; T2 $ ; "." 140 INPUT "Opakovat program? (A/N) " , 150 U $ , POKUD U$ = "Y" POTOM GOTO 10 160 KONECStředník má funkci potlačení nového řádku za operátorem PRINT. Klíčové slovo ENDznamená ukončení programu. Je volitelný, v jeho nepřítomnosti program skončil po provedení posledního příkazu, ale byl užitečný v případech, kdy existovala sekce podprogramů, nebo měl program několik možných ukončovacích bodů (v druhém případě buď u každého takového bod, který nastavili END, nebo ENDtam byl jeden a na něm byly provedeny pasáže jinde).
Jednou z nejběžnějších variant jazyka BASIC byla implementace interpretu QBasic společností Microsoft Corporation . Po mnoho let byla zahrnuta jako bezplatná aplikace, která je součástí operačních systémů MS-DOS a dřívějších Windows . Měl poměrně výkonné grafické a zvukové možnosti, což vám umožnilo vytvářet dokonce hry v tomto jazyce.
Pozdější verze BASICu (počínaje Turbo Basic a Visual Basic ) se velmi liší od dřívějších verzí. Ve skutečnosti jde o nový jazyk, který je v mnoha ohledech bližší Fortranu nebo Pascalu než původnímu BASICu. Hlavní změny ve verzích z 90. let jsou následující:
Téměř všechny nedostatky vlastní raným verzím jazyka byly opraveny a programování v moderních dialektech BASIC se jen málo liší od používání jiných jazyků a prostředí (jako je Delphi ). Odvrácenou stranou procesu základní modifikace je, že jazyk se stal mnohem větším a složitějším a jeho vývoj vyžaduje více času a úsilí.
Fragment typického programu FreeBASIC:
# Lang "fb" Dim As String n , s , t , n2 , t2 Cls : Tisk "Vítejte!" 'Nadpis na prvním řádku Udělej 'Smyčku, která vykreslí čáru pod titulkem na celou šířku obrazovky For i As Integer = 1 To LowWord ( Width ) Print "=" ; Dále i 'Vložte znaková data od uživatele Zadejte "Jméno: " , n Zadejte "Příjmení: " , s Zadejte "Prostřední jméno: " , t 'Vyjměte kopii prvních znaků z křestního jména a patronyma n2 = vlevo ( n , 1 ) t2 = Left ( t , 1 ) 'Zobrazit výsledek Tisk "Vaše jméno je krátké:" ; s ; "" ; n2 ; "." ; t2 ; "." Tisk "Opakovat program? (y/n)" Smyčka Zatímco LCase ( Vstup ( 1 )) = "y" Konec 0Přes svou oblibu Microsoft v roce 2001 upustil od další podpory Visual Basic ve prospěch zásadně nového jazyka Visual Basic .NET - v této implementaci byl jazyk opět radikálně revidován a v současném stavu se prakticky shoduje z hlediska množiny funkce s jazykem C # , pouze detaily se liší syntaxí a klíčovými slovy. Basic se tak vyvinul z nástroje pro tvorbu programů pro neprofesionální amatéry v plnohodnotný nástroj pro tvorbu programů.
Kromě psaní plnohodnotných programů je BASIC široce používán jako základ pro různé skriptovací jazyky (například makra v balíčku Microsoft Office jsou psána v dialektu VBA ).
Během své největší slávy (1970-1980) byl BASIC silně kritizován. Kromě konstatování zřejmých nedostatků jazyka spojených se syntaktickou chudobou raných verzí a absencí mnoha uznávaných a pohodlných konstrukcí a mechanismů byl BASIC kritizován za to, že jeho jednoduchost a nestrukturovanost podněcuje k používání krutých vývojových postupů a přispět k rozvoji nebezpečných programátorských návyků, které mohou být někdy vhodné pro rychlou tvorbu malých programů pro aktuální potřeby, ale mohou vést ke kolapsu velkých projektů.
Všudypřítomné počáteční vzdělání programování založené na BASICu bylo ostře kritizováno. Jednou z „vizitek“ Edsgera Dijkstra bylo prohlášení:
Studenti, kteří dříve studovali BASIC, je téměř nemožné naučit dobré programování. Jako případní programátoři jsou duševně zmrzačení bez naděje na uzdravení [5] .
Původní text (anglicky)[ zobrazitskrýt]Je prakticky nemožné naučit dobré programování studenty, kteří se již dříve setkali s BASICem: jako potenciální programátoři jsou mentálně zmrzačení bez naděje na regeneraci.
V reakci na kritiku přívrženci BASICu poznamenávají, že kritici připisují jazyku ty negativní aspekty, které by měly být přičítány jeho zneužití. Nevýhody BASICu (máme-li na mysli rané dialekty) se objevují při snaze o profesionální vývoj složitých a rozsáhlých programů na něm a při jeho použití jako základního jazyka pro výuku programátorů, ale tento jazyk nebyl pro žádnou z těchto aplikací určen; jeho hlavním úkolem bylo poskytnout neprogramátorským studentům možnost po minimálním zaškolení napsat ty nejjednodušší programy pro vlastní potřebu , aby neodváděli pozornost specialistů od této práce. Jazyk je pro tento úkol docela vhodný.
Pokud se budeme bavit o moderních dialektech a implementacích BASICu, pak zašly tak daleko od původní podoby jazyka, že vše výše uvedené lze stěží považovat za příbuzné. Moderní dialekty BASICu jsou poměrně strukturované jazyky, svými schopnostmi jsou srovnatelné s jazyky jako C , Pascal atd.
V různých dobách vyráběli tlumočníci BASIC různé organizace, společnosti, firmy:
Sovětský:
Jablko:
|
|
Sinclair :
|
|
|
Jiný:
|
|
BASIC | Dialekty programovacího jazyka|
---|---|
Klasický |
|
přechodný |
|
procesní |
|
Objekt |
|
mobilní, pohybliví |
|
Řídicí panel |
|
Programovací jazyky | |
---|---|
|