Zpět

PureBasic


Programujete občas v nějakém basicu? Je pro vás C, Amiga E a nebo dokonce Assambler postrachem?

Pak je tady pro vás dobrá zpráva. Po odporném Amiga basicu, celkem schopným, ale totálně nesystémovým Amosu a po dokonalém Blitzu je tu další kandidát pro vaše programátorské orgie - Pure Basic. Zatím sem měl sice k dispozici pouze osekanou demoverzi, ale i z té se dá udělat nějakej ten malej úsudeček.

Teď si asi spousta z vás pomyslí na co vlastně nový basic, když tu už máme super Blitz Basic II. No Blitz je sice skvělý a systémový, ale oproti němu má Pure Basic jednu docela velkou výhodu. Hotové programy bude totiž možné zkompilovat i pro procesory PowerPC, v této chvíli pouze pod systémem WarpUp. Tím pádem je zaručeno to, že váš program pojede jak na starých a zastaralých procesorech 68k, tak i na nynějších a snad i budoucích PPC.

Pure Basic k nám přichází (stejně jako Amos) z Francie a má ho na svědomí firmička Fantaisie Software. Samotný Pure Basic je asi nejvíce podobný Blitzu, samozřejmostí je to, že je systémový a to opravdu a ne zdánlivě jako třeba Amos. Po jeho spuštění se dostanete do editoru, který asi nikoho nijak nenadchne. Editor totiž připomíná asi nejvíc nějaký ascii editor a pokud jste zhýčkaní Amosem a nebo Blitzem budete si muset zvykat na graficky mnohem chudší prostředí.



Celý Pure Basic se samozřejmě skládá z basicových příkazů, ale na rozdíl třeba od Amosu jsou příkazy se stejným určením sdruženy do takzvaných knihoven. Nejedná se o systémové knihovny Amiga DOSu, ale o speciální knihovny Pure Basicu. To je celkem dobrej nápad, protože tímhle způsobem je zajištěno jednoduché rozšiřování jazyka. Prostě se připíše jen nová knihovna.

Příkazy Pure Basicu jsou celkem podobné jako u ostatních basiců, takže pokud už nějaký umíte myslím, že se celkem rychle zadaptujete. Navíc dokumentace k Pure Basicu je docela dobře napsaná, samozřejmě pouze anglicky, což asi ty, kteří si s tímto jazykem až dokonale netykají moc nepotěší. Pure Basic je ovšem připraven na lokalizaci a to pomocí standardního lokalizačního katalogu. Možná se tedy někdy dočkáme lokalizované verze a snad i překladu anglické dokumentace. V archivu s programem naleznete už nyní několik lokalizací. Zatím se jedná pouze o německou a francouzskou. :-) Dále je součástí archivu i adresář Extras, ve kterém naleznete i některé užitečné prográmky jako Poolmem a nebo plugin Pure Basicu pro textový editor GoldED.

Momentálně obsahuje Pure Basic 22 externích knihoven. Bohužel v demoverzi tyhle všechny knihovny neobdržíte a jste odkázáni pouze na 4. Z tohoto důvodu nemohu zatím Pure Basic moc vyzkoušet, protože pomocí těchto knihoven se nedá napsat nějaký smysluplnější program. Navíc je ještě několik dalších omezení (např. maximálně 200 řádek zdrojového textu), ale to by u kratšího prográmku tolik nevadilo.

Jeden testík jsem ale přece jen udělal. Vzal jsem Amos, Blitz Basic II a Pure Basic a napsal jsem tuhle dvojitou smyčku:

For A=0 To 1000000
For B=0 To 1000
Next B
Next A
Print "End" MouseWait

Tenhle jednoduchý prográmek jsem pak zkompiloval, hotový program spustil a změřil čas za který byla smyčka vykonána. A to od stisku klávesy Enter (pouštěl jsem ze Shellu) až po vypsání slova END. Výsledky jsou v následující tabulce:

 Basic               Velikost souboru    Čas

==============================================
| Amos PRO          |  7844/54732     |  1328 |
-----------------------------------------------
| Blitz Basic II    |  4164           |    11 |
-----------------------------------------------
| Pure Basic        |   436           |     8 |
===============================================


Všechna měření byla provedena 3x, a to vždy na čerstvě zavedeném systému a výsledek je průměr těchto měření. Jednotlivé soubory byly vždy spouštěny z RAMu. Velikost souboru je v bitech a čas je v sekundách. Vše bylo děláno na procesoru 68040/25MHz.

Pro úplnost bych snad měl ještě dodat, že u všech basiců jsem se snažil o co nejmenší velikost výsledného souboru. Takže jsem povypínal v optionech kompileru co se dalo. Největší problém byl s Amosem, protože jak jistě víte k chodu amosovských programů je třeba i Amos.library. Tahle knihovna se ovšem dá i přiložit do spustitelného amosovského souboru, čímž ovšem tenhle soubor docela naroste (viz. číslo za lomítkem). Velikosti souborů jsou ale i tak pouze orientační, protože u každého basicu je potřeba mírná úprava použitého programu.

I když tahle jednoduchá smyčka celkem nic neznamená a nic moc o programovacím jazyku neřekne, přesto je vidět, že Pure Basic celkem suverénně vede a to ve všem. Všimněte si hlavně velkosti výsledného spustitelného souboru. Bohužel se mi nepodařilo zkompilovat verzi pro PPC, takže v testu je "jen" 68k verze. Při kompilaci PPC to prostě házelo errory a i sami autoři připouštějí, že podpora PPC je ještě v plenkách. Myslím, že u PPC verze by kód dost narost, ovšem rychlost ba asi nebyla ani změřitelná :-). Naproti tomu "rychlost" Amosu je opravdu ostuda. Zhruba 22 minut oproti 8 sekundám Pure Basicu je docela síla. :-)

No a nakonec pár záporů. Jako první mně vadí, že v externích knihovnách není žádná pro podporu joysticku, potažmo joypadu. To je ale celkem triviální chybička, která bude v budoucnu docela snadno odstranitelná jednoduše tak, že někdo napíše pro joystick samostatnou knihovnu. Nu a druhá věc, která trochu zamrzí, je nic moc stabilita programu. Von teda zas až tak moc nepadá, ale sem tam se zasekne (testonaval jsem verzi 1.20). A to je u programovacího jazyka dost špatná věc, protože to může dost nemile poslat vaši několika hodinovou práci do hajzlu. To se ovšem v konečné verzi taky může ještě zlepšit.

Takže jestli se rozhodnete pro Pure Basic a nebo zůstanete u nějakého vyzkoušeného basicu je jen na vás. Pure Basic se šíří jako shareware a jeho autoři Frédéric "AlphaSND" Laboureur a Richard Andersson za něj chtějí 120 marek západních, případně ekvivalent v jiné měně, což není až tak moc. Každopádně demoverzi najdete na Internetu a pokud se mi podaří sehnat plnou verzi Pure Basicu tak se k tomuto jazyku snad ještě někdy v budoucnu vrátíme. Mně osobně docela fascinuje pomyšlení, že můj "fucking basic kód" snad někdy poběží i PPC G4. :-D

Zpět