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