int21h

Basic dnes

Tak mi došlo, že se prezentujeme jako časopis o vedlejších proudech a polozapomenutých programátorských směrech, a ještě tu nebyla žádná zmínka o jazyku BASIC. Zatím jenom pascal (Měli bychom zlanařit i nějakého céčkaře...)
Každopádně Basic vznikl v roce 1964 a byl to jeden z prvních, ne-li vůbec první, z vyšších programovacích jazyků.
Zpočátku běhal na velkých sálových počítačích a později i na domácích počítačích. Zatímco byl ale ze sálů vytlačen všelijakými Coboly, Fortrany a kdoví čím ještě, na osmibitových počítačích naprosto dominoval.
Bohužel, ač je navržen důsledně multiplatformě (v roce 1964 nutnost), tak se na jednotlivých osmibitech rozpadl na množství dialektů, takže převod hry např z Atari na ZX-Spectrum byl kromě hardwarové nekompatibility komplikován ještě odlišnostmi jednotlivých
Basiců.
Pro nás je ale podstatné, že na PC portoval Basic IBM (jejich verze se nazývá BASICA) a Microsoft přišel s kompatibilním (tehdy to ještě byli hodní hoši) GW-BASICem.
No, a přávě na GW-BASICu jsem se naučil programovat. Nebudu se o něm moc rozepisovat, jenom stručně:
Je to interpretovaný jazyk (jako třeba PHP nebo FoxPro) a stejně jako třeba FoxPro má dva režimy činnosti. Pokud napíšete třeba:
For a=1 to 10:Print a:Next a

...tak se příkaz provede okamžitě. To se nazývá bezprostřední režim Pokud ale předřadíte číslo, chápe to BASIC jako řádku programu. Např.
10 For a=1 to 10:Print a:Next a

Většina programátorů je/byla zvyklá číslovat řádky po desítkách, aby se daly pohotově vkládat další řádky.
Nad předchozí větou jste se možná zarazili: Jak vkládat? GW-BASIC nemá IDE ve smyslu, jak ho všichni chápeme. Jeho pracovní prostředí ze všeho nejvíce připomíná pracovní prostředí DOSu. Zapomeňte tedy na scroling a volný pohyb po zdrojovém kódu. Pracuje se tu jinak.
Lépe :-)
Ne, to si dělám srandu.
Nicméně je možné, napsat program v nějakém normálním editoru a pak ho v prostředí BASICu jen načíst. Z nějakého důvodu se to ale nikdy moc nepoužívalo...
GW-BASIC má na dobu svého vzniku perfektní podporu grafiky, ale silně zaostává v přímou prací s hardarem PC, nezná ukazatele(!) a téměř nezná pojem procedura nebo funkce.
Ale dají se v tom naprogramovat slušné věci, ne že ne. Naprogramoval jsem v něm i jeden dost schopný malovací program, kde se kreslilo normálně myší - v GW-BASICu šlo o úplnou raritu!

Další vývojový stupeň byl QBASIC (taktéž od Microsoftu), který se distribuoval společně s DOSem 5.00-6.22
V tom jsem nikdy nepracoval, ale vcelku ho taky znám:
Rovněž je to interpretovaný jazyk, už umí funkce, je úžeji spjatý s platformou PC, grafika zůstává pořád perfektní a snad zná ukazatele. Taky už má IDE v pravém slova smyslu a není nutné číslovat řádky. Na druhou stranu neumí bezprostřední režim práce.
QBASIC byl určený pro řadové uživatele systému DOS. (Tenkrát ještě uživatele nepovažovali se blbečky.) Pro programátory byla (a stále je) verze zvaná Quick Basic 4.5 (Později vznikla ještě verze 7.1, ale z nějakého důvodu se moc nerozšířila)
Quick Basic má trochu lepší IDE, pár dalších rozšíření a hlavně umí kompilovat do EXE.
Poslední Microsoftí BASIC pro DOS byl Visual Basic for DOS v 1.0
Skutečný vizuální vývojový nástroj. Viděl jsem ho a zdá se být dost dobrý. Jeho prostředí připomíná prostředí Turbo vision a v něm vytvořené programy jsou v tom samém stylu. VB for DOS se ale moc nerozšířil, asi kvůli chabé podpoře od Microsoftu, který se tou dobou už soustředil na windows.
Kromě překladačů od Microsoftu vyšlo ještě mnoho jiných překladačů BASICu - můžete si je vyhledat přes Google.

Ale tenle článek je o něčem jiném:
Aby bylo jasné, QBASIC a Quick Basic 4.5 vyšly v roce 1988. Zdá se, že už jsou dávno zapomenuty.
OMYL. Kolem těchto jazyků se vytvořila neskutečně aktivní a nadšená komunita, která v nich dodnes programuje. Tito lidé berou chybějící prvky QBASICu jako výzvu a o to zarputileji v něm tvoří. Situace u basicářů trochu připomíná tu u pascalistů.
Hojně se používá QBASIC nebo Quick Basic, ale někteří zvolna přecházejí na Free Basic, který se objevil poměrně nedávno a který je:
+ 32bitový
+ přebírá některé prvky z C
+ podporuje DOS32, Windows a Linux
+ má mraky knihoven na všechno možné včetně OpenGL, DirectX, GTK+,...

Nepřipomíná to pascalistům něco?

Bylo by škoda, aby FB přetáhl všechny basicovské programátory, protože tím by zanikla jedna vynikající skupina vývojářů pro DOS.
Tento odkaz vás dovede na dobrý výchozí bod mezi basicáře. Všimněte si, že z 95% programují co jiného než hry!
Bezva! Mezi nimi převažují akčňárny, plošinovky a kupodivu RPG. Je radost si taková dílka zapařit, protože je na nich vidět ten zápal, s jakým je jejich tvůrce piplal. Ne jako prefabrikované komerční ehm... ...produkty.
Silně mi připomínají hry na bratrancově atárku. Byl bych ale rád, abyste si nenechali ujít ani 3D hry typu DOOM vytvořené v Q(uick) Basicu.
Skutečně to jde. Neuvěřitelné! Uvědomte si, že to všechno běhá v reálném módu! A patrně jenom s minimem assembleru.
Na těchto stránkách taky vychází časopis QB Express, kde se najde leccos zajímavého i pro nebasicáře. V době psaní tohoto článku čerstvě vyšlo 20. číslo. V příštím 21. bude vyhlášení Qlympiády - programátorské soutěže pro basicáře. V obou kategoriích QB i FB bude zřejmě hodně souěžních kusů a je se tudíž na co těšit!
2006-11-30 | Laaca
Reklamy: