Skriptování v .NETu 5 (Boo)

Tento díl seriálu Skriptování bude o nepříliš známém jazyce Boo, který je v aktivním vývoji (licencován MIT/BSD licencí). Jedná se o jazyk, kterým lze kompilovat zdrojové kódy přímo do mezikódu CLI, a tím pádem lze očekávat velkou rychlost. Samotný jazyk je velmi přehledný – vychází z jazyka Python a je silně typový, ačkoliv použití typů není povinné. Osobně se mi Boo libí a přijde mi rozhodně přehlednější než Visual Basic (možná kvůli tomu, že používám primárně C#).

Boo

Jazyk Boo rozhodně doporučuji k bližšímu prozkoumání. Má mnoho zajímavých vlastností a za zmínku rozhodně stojí snadná kompilace několika způsoby. Nás ovšem zajímá použití jako skriptovacího jazyka, které je velmi hezky řešeno. Zdrojový kód se zkompiluje a je vrácena vytvořená assembly, ve které je možné pomocí reflexe provádět všechny standardní operace.

Pokud se v kódu vyskytne syntaktická chyba, tak není assembly vytvořena a je vrácena kolekce chyb s popisem a přesným údajem o místě (řádek, sloupec). Považuji to za lepší (rychlejší) řešení než odchytávání výjimky jako v předchozích případech.

Syntaxe jazyka Boo

found as bool = false
abc = (7, 2, 4, 5, 6)
for i in range(4):
    if abc[ i ]>5:
      
found = true

Pokud se chcete s jazykem Boo rychle seznámit, doporučuji Boo reference quick card

Testování

Jak jsem se již v úvodu zmiňoval, dá se předpokládat poměrně vysoká rychlost zpracování skriptů. O přesném výsledku si ale budeme moci udělat obrázek až v posledním dílu seriálu.

Parsování / kompilace

první 500 – 1000 ms
další okolo 100 ms

Float test 2070 ms
Faktorial test 2534 ms
Zápis hodnoty do skriptu 598 ms
Čtení hodnoty ze skriptu 524 ms
Vytvoření instance 3448 ms

 

Parsování / kompilace – doba, kterou potřebuje skriptovací engine k inicializaci (parsování nebo kompilaci zdrojových kódů).

Float test – doba potřebná k vypočítání jednoho milionu rovnic sin(30)*sin(30)+cos(30)*cos(30).

Faktorial test – doba potřebná k výpočtu faktoriálu čísla 12 (12!) rekurzivně. Prověřuje rychlost interního volání funkce, vyhodnocování podmínek a počítání s celými čísly. Test je volán milionkrát.

Zápis hodnoty do skriptu – milionkrát zapíše hodnotu z hlavního programu do skriptu.

Čtení hodnoty ze skriptu – milionkrát přečte hodnotu ze skriptu.

Vytvoření instance – vytvoří milion instancí objektu ze skriptu.

Závěr

V dalším dílu se podíváme na JScript.NET a prakticky si ukážeme, jak se pracuje s třídou CodeDomProvider ke kompilaci javascriptových kódů.

Zveřejněno 02 October 09 04:50 by topas
Vedeno pod: ,

Upozornění na nové komentáře

Pokud chčeš dostávat upozornění emailem na změny u toho příspěvku,tak se zaregistruj zde.zde

Odebírat komentáře k tomuto příspěvku pomocí RSS

Komentář

Žádné komentáře

Vytvoření nového komentáře

(povinný) 
(nepovinný)
(povinný) 
Opiš čísla, která vidíš na obrázku: