Díky za link - recenze je velice zajímavá (a kritická), nicméně se pokusím svůj přístup zdůvodnit.
vysvětlování nového tématu s odlišným viděním problému by nemělo být budováno na předchozích zastaralých znalostech
Naopak - já žádné předchozí znalosti nepředpokládám. Na druhé straně, problematiku proměnných a základních programovacích struktur (jako jsou podmínky, kontrola chyb, cykly apod.) vykládám na prvním místě prostě proto, že jsou základní, "nadčasové" a fungují ve většině programovacích jazyků.
vizi "jednoduchého" VB jako chameleona proplouvajícího napříč technologiemi již léta skoro beze změny
VB.NET se samozřejmě vyvíjí stejně jako ostatní jazyk, ale nerad bych začátečníky odrazoval výkladem fíčur, které do VB byly přidány úplně naposledy. To, že do něj byly implementovány tak pozdě mj. znamená, že nejsou pro pochopení problematiky programování (a VB jako takovém) podstatné. A proč by se měl začátečník seznamovat s třídami, když neumí ani deklarovat proměnnou nebo vyskočit ze smyčky ? To mi nepřijde příliš smysluplné.
jmenný prostor Microsoft.VisualBasic, s jehož pomocí je způsob kódování ve VB.NET degradován na hybridní VB6/.NET styl
Jednak jsem s názvovým prostorem Microsoft.VisualBasic zatím čtenáře v seriálu nekontaktoval, jednak to není úplně přesné - názvový prostor Microsoft.VisualBasic slouží ke zpřístupnění užitečných funkcí z původní VB runtime knihovny - nic více, nic méně. Takže, kdo chce počítat třeba úrokovou míru, má možnost si napsat vlastní, nebo sáhnout do tohoto jmenného prostoru a využít zdejší užitečné finanční, formátovací aj. funkce.. K používání zastaralé konstrukce jako On Error Goto 24 vám ale tento názvový prostor mnoho nepomůže - její podpora je záležitost překladače.
Alibistické je to proto, že se sice dle svých slov vyhýbá teoretickému vysvětlování některých pojmů, ale to mu nebrání, aby nás hned ve druhém dílu seriálu nepoučil o o logickém členění programu do modulů
Bohužel, vyložit členění programu do modulů je holá nutnost, jinak ve VB.NET nelze napsat ani ten nejkratší program. Dále - pokud založíte projekt konzolové aplikace ve stylu HelloWorld v prostředí IDE jako je SnippetCompiler, SharpDevelop či Visual Studio - vytvoří se vám právě takový modulový projekt. Nemohu tedy existenci modulu obejít s tím, že to jsou stejně na úrovni .NETu zjednodušené třídy - když je to to první, s čím se začátečník při tvorbě HelloWorld setká. A konečně - moduly jsou známá ze starších verzí VB i BASICu.
jeho čtenáři jsou již dostatečně vyspělí, aby pochopili konstrukci Try - Catch a to vše ještě před řídícími konstrukcemi jazyka
Zde jsem vycházel z faktu, že každý program může mít chyby (a tedy i ten, který nepoužívá žádné řídící struktury, natož třeba třídy). Myslím, že moje zařazení konstrukce Try-Catch právě sem má svoji logiku - o tom, že zpracování výjimek může být složitejší jsem se ostatně zmínil. Rozsah jednoho dílu seriálu je ostatně pevně daný rozsahem 3000 - 5000 znaků - není možné (a pro začátečníka ani nutné) v něm probírat všechny možné detaily a varianty dané konstrukce (sám se kolikrát přistihnu, že je po dopsání dílu seriálu musím seškrtat).
Dalšími lapsy jsou neustálé vypisování celé hierarchie jmenných prostorů
Zkušenějšímu programátorovi použití klauzule Imports určitě šetří psaní (sám je používám masivně), nicméně vypisování celé cesty je jednak jednoznačnější, jednak pomůže začátečníkovi s lokalizací tříd ve stuktuře jmenných prostorů, jednak (v případě metod jako System.Console.WriteLine) nikoho ani na okamžik nenechá na pochybách, co vlastně ten příkaz dělá - zapisuje řádek do systémové konzole - je to sebepopisné.
nebo utvrzování začátečníka, že používání "magických" čísel místo konstant je v pořádku
V pořádku to není, ale je to intuitivní a v situaci, kde potenciálnímu čtenáři není znám rozdíl ani mezi proměnnou a konstantou je to trochu logický skok. Ani v mateřské školce nikdo nikomu nevtlouká do hlavy rozdíl mezi samohláskami a souhláskami, dokud se nenaučí číst oboje.
Obecně vztato soudím, že je nutné najít rovnováhu mezi tím, co je formálně správné a co je intuitivní a co je podstatné pro pochopení. A nelze to podceňovat - jeden z důvodů, proč například stagnuje rozvoj Javy je její formalismus. To, že se pro 99% malých a středních projektů na Windows používá právě Visual Basic také není náhoda.
Co se pojmu tříd týče, nemyslím si, že je nutné je probírat dříve, než programátor chápe rozdíl mezi modulem (struktura, nesoucí kód) a UDT (struktura, nesoucí pouze data) a pochopí tak, jak třída spojuje výhody obou, kdy má smysl používat jedno a od jaké úrovně druhé. Jednoduchý shell skript také není nutno začínat deklarací třídy, aby fungoval efektivně a zůstal přehledný, modulární a rozšiřitelný. Je jen otázka míry, do jaké nějaký schematický šablonovitý přístup k řešení problému (ať už založený na OOP, nebo na jiné koncepci) k řešení problému použijete (ať už s ohledem na výkon, rozšiřitelnost, modularitu, údržbu, atd.).
Seriál je rozvleklý, těžkopádný a skáče bez jakékoli logické souvislosti z tématu na téma
Je jasné, že profesionála bude jeho současné tempo zdržovat, ale moje hledisko je následující: s minimálním objemem znalostí dosáhnout co největšího efektu. Proto se hodlám v prvních cca deseti dílech seriálu (ale ne déle) věnovat konzolovým aplikacím a nebudu řešit např. metody pro výstup do souboru nebo IPC - protože to konzolové aplikace umí samy a začátečník tak rychle získá prostředky pro práci s daty. Ne nadarmo se konzolové aplikace tolik používají v UX prostředí a cvičit další generace klikajících programátorů není mým záměrem. VB.NET tak ostatně není stavěn - kdybych začal výklad tvorbou GUI aplikace, navázal bych právě na to, co se mi na dosavadních učebnicích nelíbí. Ostatně, využití dnešního VB.NET je mnohem širší, než tvorba formulářů, třeba i ty konzolové aplikace.
jeden děsnej seriál pro začátečníky o PHP už máme
Myslím, že není jednoduché se zavděčit všem, ale mě osobně se seriál o PHP právě líbí tím, že sleduje problematiku v širším kontextu (např. s použitím SQL příkazů) a prakticky. Další vynikající seriál je třeba na root.cz o programování 3D grafiky - na třídy a další osvědčené přístupy v něm nenarazíte - přesto je dokonale přehledný a má teměř referenční charakter. Co se ortodoxních příznivců programování v Basicu na nezastarávajícím stroji Didaktik Gamma - je to docela široká vrstva potenciálních zájemců o VB.NET, ale myslím, že pan Stein lamentuje předčasně. Ještě si v seriálu OOP užije.