Zdravím a děkuji za příspěvek - umožní mi totiž vysvětlil, proč na daném místě zabývám tím, čím se zabývám.
Předně, nemyslím, že OOP je až tak "nepoměrně složitější", zvlášť když je prezentováno šetrně a na praktických příkladech - ale přesto jde o koncept, který klade vyšší nároky na obstraktní uvažování (však je také obecnější a "silnější", než klasické programování) a proto bych s ním neměl v duchu Komenského zásad začínat. Třídy v něm zkrátka považuji za jakési rozšíření a zobecnění programových modulů a proto s nimi nezačínám hned.
A co se týče těch základních programových struktur, které jsem až doposud probral - ty se samozřejmě masivně využívají i v OOP třídách a metodách, jinak bych se o nich vůbec nebavil. To, že jsem s nimi začal právě proto, abych nemusel začátečníka seznamovat s příliš velkým objemem pojmů naráz přece není změna koncepce ? Vy snad v metodách nepoužíváte podmínkové příkazy a cykly ? Proč je tedy používají (skoro) všechny ukázkové příklady .NET SDK?
Aniž bych chtěl blíže rozebírat Vaše motivace k sepsání příspěvku, připadá mi, že strukturované programování vidíte jako jakýsi protipól OOP (Object Oriented Programming), které se navzájem krvežíznivě potírají. Takový názor bývá častý zejména u lidí, kteří uvažují schematicky a s praktickým programováním nemají mnoho praktických zkušeností. Ale tak tomu přece vůbec není! OOP představuje rozšíření všech dobrých zásad strukturovaného programování - především s ohledem na zapouzdřenost, izolovanost a reuse programových celků. To jsou typické rysy OOP a tím, že k němu přidává nové prinicipy je staví na novou, kvalitativně vyšší úroveň, ale rozhodně jej nepopírá - naopak. A Visual Basic .NET zvlášť je prostředí, které programátorovi nevnucuje jednu či druhou koncepci jako jedině posvěcenou a správnou - umožňuje mu zvolit přístup, jaký mu vyhovuje (mj. už s ohledem na zpětnou kompatibilitu). Je to mj. důvod, proč se čistě objektové jazyky jako SmallTalk u uživatelů nechytají - nejsou s ohledem na svou koncepci zdaleka tak univerzální. Takže VB.NET není správné a dost dobře ani možné přednášet třeba jako SmallTalk - naopak, je možné oba přístupy vzájemně srovnávat a průběžně využívat výhod obou. To, že se učí množiny neznamená, že musíte zapomenout na algebru.
Dejme tomu, že cykly jsou konkrétně pro Vás "stupidní" (možná proto, že jste se je kdysi také naučil také jako jednu z prvních věcí...?), ale jejich použití má mnohu nuancí a nevidím důvod, proč se o nich nezmínit na jednom místě seriálu. Samozřejmě, bylo by možné pojmout seriál i stylem extrémního, nebo aspektového programování - zkrátka začít výklad sestavováním nějaké konkrétní aplikace a o jednotlivých rysech jazyka se zmiňovat postupně, jak na ně dojde řada a vím, že se to tak často i dělá (časem si to vyzkoušíme na příkladu nějaké konkrétní GUI aplikace). Problém je, že se tím trochu vytrácí referenční smysl seriálu, zkrátka není dost dobře možné si vyhledat detaily o tom daném příkazu jeho praktické pozadí na jednom místě, proto je dobré si nejprve probrat určitou bázi postupů a základních termínů. Všechny přístupy zkrátka mají své pro i proti a představy systémových integrátorů o OOP jsou jiné, než např. těch, co tvoří grafiku v DirectX, nebo numerické simulace. VB.NET je prima v tom, že se hodí na všechno.
Co se týče přehledu funkcí .NET Framework týče, považuji ho za úvod k OOP a přehled funkčnosti .NETu, který mi ostatně v dostupné české literatuře chybí. Protože funkcionalitu .NET Framework nelze od VB.NET oddělit, bylo by dobré seznámit čtenáře s tím, co všechno mu tato knihovna nabízí a k tomu ve skutečnosti vůbec nepotřebuje, aby věděl mnoho o OOP. Jde spíš o seznámení se základními pojmy .NET a oblastí činností, pro které je stavěn - právě proto s ní seznamuji čtenáře zde. Příští dílem přehled ukončíme a pak již budu moci pokračovat ve výkladu dál bez toho, že bych musel neustále odskakovat, co obnáší jeden či druhý jmenný prostor.
Kdybych to měl shrnout, dobré chápání syntaxe jazyka nebo principů OOP je sice důležité, ale u jazyků jako je VB.NET, jejichž funkčnost se opírá o knihovny je neméně důležité mít o těchto knihovnách přehled. Časem si ukážeme časté příklady věcí, které začátečníci ve VB.NET implementují sami, ačkoliv pro ně .NET nabízí komfortní rozhraní nebo dokonce funkcionalitu - přehled knihoven .NET tvoří první vykročení tímto směrem. Stejně jako zásady OOP může být seznámení s prostředím .NET užitečné pro všechny programátory .NET - bez ohledu na to, zda používají VB.NET nebo třeba C#.