BASIC

Z Multimediaexpo.cz

BASIC je rodina programovacích jazyků vysoké úrovně, která byla zavedena jako jednoduchý nástroj pro výuku programování. K jednoduchosti přispívalo i to, že klíčová slova jazyka vychází z běžné angličtiny. Jazyk navrhli v roce 1963 John G. Kemeny a Thomas E. Kurtz z Dartmouthské univerzity (Hanover, New Hampshire). Název BASIC je zkratkou anglických slov Beginner's All-purpose Symbolic Instruction Code.

V 80. létech našel BASIC široké uplatnění na domácích mikropočítačích. Ve svých prvních verzích nepodporoval volání funkcí (ke skokům v programu sloužil příkaz goto, tato koncepce se později ukázala jako nevyhovující) a jednotlivé řádky kódu musely být číslovány. Pozdější verze už poskytovaly plnohodnotný strukturovaný návrh a některé současné verze dokonce umožňují objektově orientované programování (Visual Basic, Gambas).

Obsah

Ukázka kódu

Typický program Hello world vypadá v BASICu takto:

10 PRINT "Hello, world!"
20 END

Následují dva příklady, které demonstrují na stejné úloze rozdílnost nestrukturovaného a strukturovaného programování.

Původní, nestrukturovaný BASIC (konkrétně Applesoft BASIC):

 10 INPUT "Zadejte svoje jmeno: "; U$
 20 PRINT "Ahoj "; U$
 25 REM
 30 INPUT "Kolik hvezdicek chcete: "; N
 35 S$ = ""
 40 FOR I = 1 TO N
 50 S$ = S$ + "*"
 55 NEXT I
 60 PRINT S$
 65 REM
 70 INPUT "Chcete vic hvezdicek? "; A$
 80 IF LEN(A$) = 0 THEN GOTO 70
 90 A$ = LEFT$(A$, 1)
100 IF (A$ = "A") OR (A$ = "a") THEN GOTO 30
110 PRINT "Nashledanou ";
120 FOR I = 1 TO 200
130 PRINT U$; " ";
140 NEXT I
150 PRINT

„Moderní“ strukturovaný BASIC (konkrétně QBasic):

INPUT "Zadejte svoje jmeno"; UserName$
PRINT "Ahoj "; UserName$
DO
   INPUT "Kolik hvezdicek chcete"; NumStars
   Stars$ = ""
   Stars$ = REPEAT$("*", NumStars)   ' <- ANSI BASIC
   --nebo--
   Stars$ = STRING$(NumStars, "*")   ' <- MS   BASIC
   PRINT Stars$
   DO
      INPUT "Chcete vic hvezdicek";  Answer$
   LOOP UNTIL Answer$ <> ""
   Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "A"
PRINT "Nashledanou ";
FOR I = 1 TO 200
   PRINT UserName$; " ";
NEXT I
PRINT

Dialekty jazyka BASIC

Interpretované

  • QBasic byl standardně dodáván se systémem MS-DOS verze 5 a vyšší (včetně Windows 95) a jednalo se o omezenou verzi komerčního produktu QuickBASIC 4.5. Navzdory tomu, že neobsahoval kompilátor a měl některá další omezení, byl jednou z nejoblíbenějších verzí a dodnes se okolo něj sdružuje komunita uživatelů.
  • Gambas vychází z jazyka Visual Basic, jedná se však o open source projekt (pod GPL), přinášející výhody Visual Basicu uživatelům systému GNU/Linux. Ačkoli není na úrovni zdrojových kódů se zmíněným Visual Basicem kompatibilní, jeho syntaxe je velmi podobná. Gambas pracuje z grafickým rozhraním Qt. Jeho autorem je Benoît Minisini, který jej vyvíjí už od roku 1999.
  • Basic4GL je Basic pro Windows zaměřený na OpenGL. Je free, ale ne open source. Navzdory tomu, že jde o interpret, umí vytvářet samostatné exe soubory sestávající z „virtual machine“ a vlastního programu. K nim je možné připojit i další soubory, které program načítá a vše zkomprimovat pomocí UPX. V současnosti (10/2005, v2.3.3) v něm lze používat mnoho funkcí OpenGL. Má vlastní podporu 2D spritů a síťový engine. Pro textury a sprity umí načíst více různých formátů. K nevýhodám zatím patří zvuková stránka (přehrává jen jeden soubor *.wav současně) a omezení práce se soubory. Jeho autorem je Tom Mulgrew, který jej vyvíjí od roku 2003.

Kompilované

  • FreeBASIC je open source kompilátor, distribuovaný pod GPL. Je navržen tak, aby zachovával zpětnou kompatibilitu s programem QuickBASIC, možnosti jazyka však ještě více rozšiřuje. Dostupné jsou i knihovny pro GTK, Allegro nebo OpenGL. V současné době je FreeBASIC dostupný pro systémy Linux, DOS a Microsoft Windows.
  • QuickBASIC byl komerčním produktem společnosti Microsoft, jehož první verze se objevila v létě roku 1985. Přinášel lepší programové struktury, zrušil nutnost číslování řádků a byl dodáván s na svou dobu špičkovým vývojovým prostředím. Poslední verzí byl QuickBASIC 4.5, vydaný v roce 1988.

Další verze

Verzí BASICu za léta jeho existence vznikla celá řada. Některé z nich jsou:

AmigaBASIC, Applesoft BASIC, Atari BASIC, Blitz BASIC, Business Basic, Sinclair BASIC, Commodore BASIC, DarkBASIC, Dartmouth BASIC, GW-BASIC, KBasic, Microsoft BASIC, PowerBASIC, PureBASIC, RapidQ, REALbasic, SmallBASIC, Tiny BASIC, True BASIC, Turbo BASIC, wxBasic, Yabasic, Omikron BASIC.

Jazyky z BASICu odvozené:

VBScript

Externí odkazy