Mám problém s českou technickou literaturou pro začátečníky. Nevím, jak v jiných oborech, ale v elektronice a IT narážím na takový zvláštní zvyk, konstantně, už od socialismu:
Jako by vzali extrémně suchý rukopis, nechali ho ještě ležet na slunci, pražili, roztloukli na prach a podávali po polévkových lžících s káravým „No no no, je to pro tvé dobro!“
Čest výjimkám.
Ladislav „Elzet“ Zajíček měl pravdu ve svém sloupku v Mikrobázi, když si stěžoval, že příspěvky, které mu chodí, jsou až na výjimky zašuměné „mykáním“ a „onkáním“ (přesněji řečeno „plurálem skromnosti ad nauseam“) a přimlouval se za to, aby místo „Mnohým chybám v programech je (ono) možno předejít, jestliže programátor (hle ho, onoha!) vhodně používá…“ autoři zkusili napsat raději „Programátor předejde mnohým chybám, když použije…“, když už si netroufají napsat „Vhodným použitím … jsem se vyvaroval četných chyb.“
Však taky za to dostal od čtenářů po čuni, a od vydavatelů a odpovědných redaktorů ještě víc. Ale co, doba individualismu nepřála. A pak, po změně doby? Pak už to je zlozvyk.
Neříkám, že chci v knize, od které očekávám, že se v ní naučím, řekněme, pracovat v novém programovacím jazyku, číst, jak to autor používal. To si můžu dovolit já na webu. Na takových knihách mi vadí jiná věc, a plurál skromnosti to jen vhodně rámuje. Totiž že jsou nezáživné. Ale extrémně! Snad jako kdyby „zábava“, „poutavost“ nebo nedej bože „praxe“ byly nějaké vulgarity…
Představte si knihu o BASICu. Tak ta začne tím, že vysvětlí laskavému čtenáři, co to je programování a proč se jím zabývat. Pak vysvětlí, že máme nějakou abecedu, a nějaké speciální znaky, a pro jistotu je tam vyjmenuje. Všechny. Obzvlášť drsní autoři je dají i do tabulky:
A | znak „velké A“ |
B | znak „velké B“ |
5 | znak „číslice 5“ |
; | znak tečka – čárka („středník“) |
Inženýrská duše křičí: „A jak to chceš jako jinak vysvětlit?“ Nejsem inženýr, a snad proto tohle očekávám někde v příloze F. Ale autor neúprosně pokračuje: „Lexikální jednotky“, „Konstanty“, „Čísla“, „Číselné soustavy“, „Počítání s čísly v různých soustavách“, „Identifikátory“ a celá pasáž je uzavřena tabulkou „Zakázané identifikátory“ (ABS, ASN, … USING, WHILE)
Dobře, dobře, dejme tomu že ty úplné základy a ujasnění pojmů na začátek… Ale ještě počítač nezapínejte, jen darmo budete koukat na kurzor. Teď je vhodný čas probrat proměnné a základní programové struktury (IF-THEN, GOTO, GOSUB, RETURN). Ale pozor, Václave, nejmenovat! K příkazům se dostaneme až v další kapitole.
Autor hněvivý seřadí příkazy a funkce v abecedním pořadí. Nanejvýš rozdělí „příkazy“ a „funkce“. Autor slitovný je rozdělí do logických celků („Řídicí příkazy“, „Kontrola toku programu“, „Příkazy pro práci s daty“, „Příkazy pro vstup a výstup“, …) Pokud je autor dobře naladěn a záleží mu na vyšším honoráři (je placen od stránky), přidá buď příklad, nebo v novějších knihách screenshot. Pokud není, omezí se na název příkazu, parametry a jejich popis. Autor zlomyslný zvýší muka čtenářova tím, že používá místo zažitých výrazů („interface“) slova česká („mezistyk“), aniž by byť jedinkrát zmínil, že se tomu někde říká jinak. Česká jména mají tu zásadní výhodu, že jsou česká a jsou podle nějaké ČSN („poklepání polohovacím zařízením“). Nevýhoda je jen drobná: Nikdo je nepoužívá, takže čtenář buď neví, že to, o čem se píše, vlastně zná, nebo se to naučí tím ČSNázvem, a pak zase nepochopí, o čem se ostatní baví.
Tak si nebohý čtenář čte o příkazu PRINT a o tom, že „tento příkaz vypíše výsledek vyhodnocení výrazu či výrazů na výstupní zařízení“ (po elzetovsku: „příkazem PRINT se dosahuje výpisu…“) a o tom, jaký je rozdíl mezi středníkem a čárkou v seznamu výrazů a stěží ho trkne… A to už se blížíme pomalu do finále, protože teď je čas na dva až tři středně obtížné vzorové příklady a na přílohy a dodatky.
Jsou lidé, kterým takovéhle učení zcela vyhovuje. Naperou si do hlavy teorii, mají ji rovnou systematizovanou, takže jupí, nemusí po ničem pátrat, prostě si to uloží do připravených škatulek, a – a teď přijde to zajímavé – jsou nakonec schopni to celé používat a říkat: „To je dobrá knížka, dozvěděl jsem se tam všechno, je to utříděný…“
Já tomu rozumím. Já jsem taky schopen to pak používat – ale nejsem schopen to učíst, a pokud mě něco opravdu nenutí (a přiznejme si, že v mém věku už mě těžko něco nutí), tak to číst nebudu a sáhnu po jiné knize. Teda – pokud by jiná kniha byla… V češtině většinou není.
Listuju tedy anglickými knihami. Některé jsou velmi podobné, ale naštěstí je jich spousta „živých“. Takových, co začnou kapitolou 1: PRINT „HELLO WORLD“, to si napište do počítače, dobrý, ne? A počítat to taky umí, napište si PRINT 1+1. Zkuste si tam dát různá čísla. A teď různé operace. Násobení hvězdičkou. Dobrý, a teď zkuste závorky. A zkuste „2+3*4“. Vidíte, on to ten BASIC ví, že násobení má přednost, říká se tomu priorita, jen tak pro zajímavost tady jsou seřazené ty operátory, takže si teď zkuste třeba tohle a tohle a závorky sem a tam, vidíte… A jede se takhle. Seznam znaků, povolené identifikátory a seznam příkazů a funkcí jazyka jsou v takové knize přílohami A, B a C. Tam si to nalistuju, až budu vědět co a jak, a budu si potřebovat znalosti zasadit do kontextu. Ale do té doby budu opisovat příkazy do počítače, budu mít radost, že to něco dělá, ověřím si, jak se hledají chyby, budu nadšený, že to hraje, pípá, bliká, píše, počítá, přitom budu postupně zjišťovat, jak se co používá…
Těm druhým lidem tenhle přístup extrémně vadí. Prý produkuje lamery, co chtějí všechno jednoduše, a kvůli nim je ten nekvalitní software a bloat (více viz zde na vlastní nebezpečí). Pravý odborník si musí svoje znalosti protrpět a vysedět nad referenční příručkou. Kdepak nadšení nebo snad radost!
Kdepak Komenský!
(Kdyby vás zajímalo, co mě pohnulo k napsání, tak to byla čerstvá zkušenost s učebnicemi VHDL a rozdíl mezi těmi českými a anglickými. Přikrmil jsem ji pročítáním učebnic z 80. let – Algol, Prolog, PL/1, Fortran, SMEP, JSEP… A abych byl spravedlivý, tak elzetovy Bity do bytu pro mne byly taky docela tvrdé čtení – ale spíš proto, že jsem je četl až loni…)