Doc. Ing. Arnošt Katolický, CSc

AKADEMIE MANAGEMENTU AKA-KONZULT

HOME

KONTAKT

Poradenství, vzdělávání a zpravodajství

SOUDNÍ ZNALEC

A K A   M O N I T O R


ČASOPISY
 

 

Návštěvnost
v měsíci
květnu 2006
249.023
přístupů

 

RECENZE

 

MAPA

 
aaa

K N I H Y - R E C E N Z E   2001 - 2006

 

Visual Basic 2005 pro pokročilé
Ján Hanák
 


 

ZonerPress umí čtenáře překvapit. Moderním, aktuálním tématem, kvalitou jeho zpracování a především výběrem autora. Napsat a vydat knihu, v jejímž názvu je uvedeno, že kniha je určena "pro pokročilé", představuje velké riziko a to jak pro autora, tak pro vydavatele. Autor si tím sám říká o nejpřísnější možné hodnocení, vydavatel riskuje, že kniha nemusí najít dostatečný odbyt. ( I když, na druhé straně, leckdo na straně čtenářů-neprofesionálů, může mít zájem otestovat si kolik toho pochopí.) Kdo tato rizika vědomě podstupuje, nejspíš dobře ví, co dělá a vzniklou situaci považuje zřejmě za šanci a výzvu. Tak si alespoň vysvětluji rozhodnutí Zonerpressu, nabídnou čtenářům vysoce aktuální, ale značně náročné téma, kterým bezesporu "Visual Basic 2005 pro pokričilé" je. Rozhodující je nesporně osoba autora. Volba Jána Hanáka byla volbou na jistotu. Profesionál v programování a ve vývoji softwaru, zkušený pedagog, autor řady publikací a článků - známá osobnost, kterou bude málokdo podezřívat, že neoprávněně straní Visual Basicu. Udělené hodnocení Microsoftu MVP ( Most Valuable Professional ) se totiž vztahuje ke kompetenci Visual Developer - Visual C++ a celá řada publikací autora se týká jazyků, které patřily do "vyšší společnosti", kam Visual Basic pronikal postupně krok za krokem. Vydání knihy je načasováno do chvíle, kdy se Visual Basic stal plnohodnotným, moderním  programovacím nástrojem, který se může směle postavit kterémukoliv "služebně staršímu" konkurentu.
Autor zvolil v knize pozoruhodný přístup, který zajišťuje přínos nejen pro programátory, ale i pro architekty systémů, konceptory a pod. "Na cestě" k detailní  prezentaci každého z vybraných 11-ti programátorských experimentů / případových studií, poskytuje srozumitelnou formou celou řadu poznatků, týkajících se vývoje nástrojů, trendů, hodnotících kriterií atd. Těch 11 experimentů stojí na stovce praktických ukázek a příkladů.

Softwarový svět prochází v posledních letech bouřlivým vývojem, který je typický tím, že dnes vyvíjíme a pracujeme s aplikacemi, o nichž bychom před deseti lety možná jenom snili. K
nížka  Jána Hanáka poukazuje na silné stránky jazyka Visual Basic 2005 a učí vývojáře i velice pokročilým technikám. Visual Basic byl, již krátce po svém vzniku, oblíbený  početnou komunitou vývojářů, programátorů a softwarových odborníků zejména pro svou jednoduchost a vysokou produktivitu. Ve verzi 2005 se z něho stává nástroj, s nímž mohou vývojáři tvořit všechny aplikace, na které jenom pomyslí. Knihu v brožované vazbě o rozsahu 320 stran vydal ZonerPress na přelomu roku 2006/2007.
Na knižním trhu doposud chyběla publikace, která by byla určena v první řadě pokročilým programátorům a vývojářům.

Autor knihy, Ján Hanák je Microsoft MVP (Most Valuable Professional) s kompetencí Visual Developer – Visual C++. Jako vysokoškolský pedagog se specializuje na programování a vývoj softwaru zejména v jazycích Visual Basic, C#, C++, C a dalších. Je autorem řady knih a příruček o programování na platformě Microsoft .NET.

Kniha obsahuje 11 kapitol, které byly vybrány tak, aby nabídly různorodou směsici vývojářsky atraktivních témat.
Názvy kapitol odpovídají tématickému zaměření experimentů ( případových studií ) 
- Expanzivní šablony programového kódu (code snippets)
- Vytváření expanzivních šablon programového kódu
- Přetěžování operátorů
- Vázání dat a databázové programování
- Refaktorizace programového kódu
- Vytváření kryptograficky orientované startovací sady
- Vývoj aplikací .NET pro platformu Pocket PC
- Vizuální návrhář tříd a softwarové modelování
- Programování 2D počítačové grafiky pomocí grafického systému GDI+
- Budování uživatelských grafických nabídek a nabídek ve stylu Microsoft Office 2003
- Programování vícevláknových aplikací .NET

Kniha je sice určena pro pokročilé aktivní programátory, je však velmi pravděpodobné, že přiláká i řadu lidí z jiných profesí z branže ICT, které zajímají vývojové trendy v tvorbě softwaru a odpovídajících nástrojů.

Pro případ, že terminologie použitá v názvech kapitol čtenáře poněkud vyděsí, uvádím označení několika vybraných dílčích témat, svědčících o tom, že autor plně využívá svoji zkušenost pedagoga a dělá všechno pro to, aby i těmto čtenářům pomohl pochopit o co v jednotlivých kapitolách knihy jde.
Zde jsou názvy některých vybraných subkapitol:

- Automatizace běžných programátorských úkolů
- Management expanzivních šablon
- Vytvoření databáze v programu Microsoft Office Access 2003
- XML schéma datové sady a Návrhář datových sad
- Přejmenovávání identifikátorů – malá ukázka refaktorování ve Visual Basicu 2005 - Co jsou to startovací sady?
- Vytváření aplikačního projektu startovací sady
- Charakteristika vývojové-exekuční platformy Microsoft .NET Compact Framework - Tvorba řízené aplikace pro Pocket PC v jazyce Visual Basic .NET 2003
- Příprava grafického uživatelského rozhraní ukázkové aplikace pro Pocket PC
- Kompilace ukázkové aplikace v softwarovém emulátoru
- Spuštění ukázkové aplikace na fyzickém zařízení PDA
- Použití vizuálního návrháře tříd
- Hlavní aplikační oblasti rozhraní GDI+
- Vytváření primárního grafického objektu
- Standardní nabídky systému Windows, komponenta MainMenu a třída Menultem
- Budování nabídek ve stylu Microsoft Office 2003 v jazyce Visual Basic 2005
- Teoretický úvod do problematiky procesů a vláken v řízeném prostředí
- K čemu slouží vícevláknové aplikace
- Operace s vlákny

Zajímavou částí knihy je historie vývoje jazyka VB, od jehož uvedení v první verzi uplynulo již celých patnáct let. VB nabídl od samého počátku zcela nový pohled na budování počítačového softwaru a postupně, s každou novou verzí, si získával respekt i v očích programátorů pracujících ve Visual C++, kteří na počátku patřili k jeho tvrdým kritikům. Jako první přelomový bod uvádí autor příchod strategie .NET a s ní spojené vývojově-exekuční platformy Microsoft .NET Framework. Visual Basic se následně  proměnil v robustní, univerzální vývojové prostředí, které dovede splnit přání současných špičkových tvůrců softwaru.

Se zásadní změnou syntaktické a sémantické struktury jazyka došlo k jejímu rozšíření o zcela nové programové rysy. VB se stal plnohodnotným objektově orientovaným jazykem poté, co vstřebal desítky zdokonalení v syntaxi, integrované vývojové prostředí naplněné umělou inteligencí a celou řadu nejnovějších technologických řešení.

Jedenáct pozoruhodných programátorských experimentů se zaměřuje na praktické řešení problémů a mohou být proto považovány za případové studie. Každý experiment je uceleným zadáním, poskytujícím všechny potřebné znalosti pro zvládnutí jedné ze sfér vývoje softwaru ve Visual Basicu 2005. Zvolenými přístupy k jednotlivým tématům autor umožňuje pochopit věci ve všech souvislostech. Pro představu o možném praktickém přínosu knihy je třeba počet prezentovaných experimentů doplnit o více než sto praktických ukázek, postupů a návodů. Výběr jednotlivých případových studií byl proveden s cílem namíchat - cituji:  "co možná nejpoutavější směsici okruhů ze světa moderního vývoje softwaru." Uvedené tvrzení je oprávněné, protože v knize skutečně najdete přehledně zpracované statě o použití a vytváření expanzivních šablon programového kódu, významu a praktické aplikací přetěžování operátorů, refaktorizaci, programování dvojrozměrné (2D) počítačové grafiky pomocí rozhraní GDI+ či vývoji aplikací .NET pro inteligentní zařízení PDA, atd.

Pro přiblížení obsahu zvolil autor optimální přístup, s jehož pomocí čtenáře vede od jednoduchých faktů k složitějším pasážím, přičemž dbá na to, aby byl výklad plynulý a pozvolna čtenáře zatěžoval. Autor je veden snahou dodržet logickou provázanost kapitol, což při prezentaci 11-ti relativně samostatných experimentů/případových studií, není vždy jednoduché.

Kniha obsahuje velké bohatství teoretických a zejména praktických poznatků, vyjádřených v rámci popisu řešení programovacích experimentů - případových studií. V recenzi bych rád alespoň velmi stručně upozornil na obsah některých z nich. Při tom budu vlastní názory kombinovat s volnými citacemi z úvodních částí jednotlivých kapitol knihy Jána Hanáka.

a) Programovací jazyk Visual Basic 2005 nabízí produktivní cestu, díky které lze automatizovat proces psaní fragmentů zdrojového kódu. V prvním programátorském experimentu uvádí autor expanzivní šablony programového kódu, jež představují zcela funkční a provozuschopné bloky programových instrukci . Jde o "balíčky", v němž jsou seskupeny předmětné příkazy jazyka Visual Basic 2005 řešící určité zadání. Expanzivní šablony disponují mnoha pozitivními aspekty, ke kterým patří rychlost a jednoduchost použití, vysoká produktivita a rozšiřitelnost hotové expanzivní šablony.

b) Jedním z pojmů, které méně zběhlého programátora zřejmě překvapí, je "přetěžování operátorů". Jde o velice užitečnou techniku, sloužící práci s instancemi tříd.  Přetěžování operátorů má několik pozitiv v oblasti programátorské ergonomie, neboť umožňuje vývojářům vytvářet lépe strukturovaný a snáze pochopitelný zdrojový kód.  Visual Basic zahrnul tuto koncepci teprve ve verzi 2005.

c) Integrované vývojové prostředí Visual Studia 2005 se těší výtečné podpoře pro praktickou realizaci mechanismu vázání dat, které je velice užitečnou programátorskou technikou, neboť každý vývojář je dříve nebo později postaven před úkol načíst data z datového zdroje a zobrazit jev přehledné formě na formuláři.

d) Teorie a praxe vývoje počítačového softwaru znají pojem refaktorizace. jenž představuje sadu pravidel, návrhů a vzorů, jejichž smyslem je zefektivnit a zpřehlednit programový kód tak, aby se pozitivně změnila jeho interní struktura, zatímco vnější chování zůstane zachováno ve stávající podobě. Refaktorizace se podle autora soustřeďuje na odhalení problematických míst zdrojového kódu, které se vyznačují přílišnou složitostí, jsou spletité a těžce se čtou a chápou.  Autor uvádí několik cílů refaktorizace softwarové aplikace:
- Zabezpečení lepší struktury programu.
- Zpřehlednění programových bloků a instrukcí zdrojového kódu.
- Zvýšení výpovědné schopnosti programového kódu.
- Snadnější údržba programu.
- Zefektivnění běhu programového kódu.

e) Jednou z konkurenčních výhod Visual Studia 2005 je podle autora implementace technologie pro automatizaci integrovaného vývojového prostředí. Vývojáři nejsou omezeni na vytváření uživatelských dialogových oken, panelů nástrojů či vlastních nabídek. Propracovaný automatizační objektový model umožňuje konstrukci velkolepých softwarových řešení – vlastním editorem zdrojového kódu počínaje a začleněním podpory pro nový programovací jazyk konče.

d) Výklad toho co jsou to startovací sady, začíná autor od známějších šablon projektových, které jsou běžně používány při zakládání aplikačních projektů. Jde o předem připravené řešení, které obsahuje větší počet funkčně provázaných součástí, jež společné formují jeden životaschopný celek. Integrované vývojové prostředí obsahuje desítky projektových šablon s rozmanitým zaměřením. Startovací sady jsou plně funkčním zdrojovým kódem s komentáři, dokumentací, případně dalšími soubory nebo součástmi. Hlavním smyslem startovací sady je bleskurychle nabídnout použitelné řešení, které funguje a může být proto ihned upotřebeno k dosažení vytoužených výsledků.

e) Jeden z dalších experimentů se věnuje problematice vývoje aplikací .NET pro platformu Pocket PC. Autor v něm reaguje na skutečnost, že zraky mnoha vývojářů a softwarových specialistů se upírají k nové počítačové platformě - k osobním digitálním asistentům (zkráceně PDA), na kterých může běžet široká škála softwarových produktů. V programátorském experimentu autor předvádí, jak lze pomocí programovacího jazyka Visual Basic .NET 2003 a integrovaného vývojového prostředí Visual Studia .NET 2003 vytvořit plně funkční a životaschopnou řízenou aplikaci zacílenou na Pocket PC. V průběhu experimentu se čtenář dozvídá, jak vypadá celý proces vývoje aplikace.

f) V dalším programátorském experimentu jde , podle autora, o malou procházku světem programování 2D počítáčové grafiky pomocí objektů grafického aplikačního rozhraní . Výklad experimentu využívajícího GDI+ začíná popisem základních cíiů, po kterých následují krátká praktická cvičení, v nichž se čtenář dozvídá, jak kreslit jednoduché obrazce, jako jsou úsečky, obdélníky, vybarvené obdélníky a obdélníky vyplněné barevným přechodem a pokračuje krok za krokem až po ukázky postupy, jejichž pomocí lze uskutečnit inverzi rastrových dat, atd. Grafické aplikační rozhraní GDI+ obsahuje 60 tříd, 50 enumerací a 8 struktur. Autor situaci charakterizuje slovy: "programování 2D počítačové grafiky ještě nebylo nikdy tak snadné, jak je to teď s GDI+!".

g) Jeden z programátorských experimentů je věnován úvodu do vícevláknového programování v jazyce Visual Basic 2005. Ve verzi VB 2005 došlo totiž k řadě zásadních inovací, a to nejenom z uživatelského, nýbrž také z programátorského pohledu. Změnou zásadního významu je plná podpora multitaskingu (paralelního zpracování většího množství úloh) a multithreadingu (podpora vykonávání vícevláknových aplikací). V kapitole autor nejprve čtenáře  seznamuje s terminologickým aparátem a vysvětluje, jak se liší jednovláknové aplikace od aplikací s více vlákny. Poté na praktické ukázce prezentuje, jak naprogramovat dvojvláknovou řízenou aplikaci. Srozumitelnou formou vysvětluje autor jaký prospěch má aplikace z toho, že zavádí několik samostatných vykonatelných cest. Jako ve většině podobných situací odpovídá příkladem i zde.

Programátorské experimenty, jež formují nosnou konstrukci této publikace, se různí svými nároky na čas, znalosti a zkušenosti. V některých případech si komplikovanost přednášené látky vyžaduje vědomosti velice pokročilé, a to nejenom z programování, ale na př. i znalostí z vysoké matematiky.

Experimentování a zkoušení nových algoritmů, postupů a technologií představuje výtečný způsob, jak se stát v programovacím jazyce odborníkem na slovo vzatým.  Autor na závěr své knihy doporučuje: "Neváhejte a dále experimentujte, protože tím pádem se učíte lépe poznávat svůj programovací jazyk a navázané softwarové technologie.

Jednou z věcí, které si na knize velmi cením, je otevřený přístup k otázce náročnosti obsahu knihy.  Cílem knihy podle autora není naučit čtenáře programovat v jazyce Visual Basic. Kniha se zaměřuje se na programátory, kteří ovládají jazyk Visual Basic .NET 2003 nebo Visual Basic 2005 na pokročilé úrovni. Autor předpokládá, že základy algoritmizace a programování v jazyce Visual Basic .NET 2003 nebo Visual Basic 2005 již čtenář ovládá.
V předmluvě ke knize jsou uvedeny i další znalostní předpoklady, na př.:
- znalostí objektově orientované koncepce programování (OOP)
- přehled o všech důležitých součástech, tvořících architektonickou stavbu vývojové platformy Microsoft .NET Framework ve verzích 1.0,1.1 nebo 2.0
- znalosti základy značkovacího jazyka XML
a další.

Můj zájem o současnou úroveň VB má nejen profesní, ale i emotivní základ. Byl to právě VB ve verzi 3.0, ( nainstaloval jsem ho ze 3 HD disket ) ,který mi otevřel cestu k racionálnímu, efektivnímu programování, při kterém jsem byl ušetřen útrap spojených s tvorbou grafického uživatelského rozhraní, což mi m.j. umožnilo "sypat z rukávu" jednoduché zábavné i výukové prográmky pro svoji vnučku, a jednodušší ekonomicko-statistické modely pro své studenty. V živé paměti mám posměšky "céčkařů" , ale i nadšení řady kantorů základních a středních škol, které jsem naučil využívat VB k tvorbě vlastních jednoduchých výukových prográmků.  Také proto dokážu pochopit následující slova autora: "Skutečným smyslem je radost z programování, dosažení vysoké produktivity a možnost zhotovit ty nejlepší aplikace, jaké jste kdy viděli."

Visual Basic za 15 let dospěl a podle slov autora se ve verzi 2005 stal nástrojem, který představuje kvalitní podporu při tvorbě nejrůznějších aplikací.  Může jít o škálovatelnou databázovou aplikaci se vzdáleným přístupem, stejně jako počítačovou hru s trojrozměrnou grafikou a prostorovým ozvučením.

Svoji recenzi jsem pojal jako pokus o přiblížení knihy, která je potřebná, užitečná, ale také náročná. Snažil jsem se snížit pocit strachu, který u potenciálního čtenáře mohou vyvolat stručné a věcné odborné názvy experimentů ( totožné s názvy kapitol ), obsažené v anotacích této knihy. S využitím volných citací z knihy Jána Hanáka, uvádím informace o vybraných experimentech tak, jak jsem jejich obsah a smysl sám pochopil. Za nepřesnosti se předem omlouvám, neboť od chvíle, kdy jsem dopsal svůj poslední velký program ve VB uplynulo již "hodně vody".

Kniha Jána Hanáka představuje vynikajícího ( i když náročného ) pomocníka na cestě k maximálnímu využití moderního programovacího nástroje, kterým VB 2005 bezesporu je. Za sebe mohu prohlásit, že jsem si prostudováním knihy nejen přiblížil zcela nové možnosti aplikace VB 2005, ale současně jsem získal dobrý přehled o současném stavu a vývoji v programování a v tvorbě softwarových aplikací. Přesvědčil jsem se o tom, že VB ve verzi 2005 plně dospěl a že neprohloupí nikdo, kdo se s ním, pomocí knihy ZonerPressu, seznámí a zváží objektivně potřebu a možnosti jeho efektivního využití. Myslím, že Ján Hanák napsal dobrou knihu a ZonerPressu patří blahopřání k jeho rozhodnutí knihu na dané téma právě nyní dodat na český knižní trh, který takovou knihu již dlouho potřeboval.

Doc. Ing. Arnošt Katolický, CSc.
Doc.aka@akamonitor.cz

14. ledna 2007.
 

ROZCESTNÍK WEBLOGÚ AKA
 
ZDE

 

Rozcestník na 12 weblogů
http://weblogy.akamonitor.cz

 

Seriál článků na téma management znalostí

 

 

 

   Webmaster: doc.aka@akamonitor.cz - KONTAKT - 728-218877