jak-dlouho-se-dokazete-udrzet-v-it-na-spicce
Zábava Článek Jak dlouho se dokážete udržet v IT na špičce?

Jak dlouho se dokážete udržet v IT na špičce? | Kapitola 2

Michal Rybka

Michal Rybka

25. 10. 2008 01:00 78

Seznam kapitol

1. Jsem ajťák, pan ajťák. 2. Počítače se mění. Bleskově. 3. A potom přišly okna. Díky ti, ó mocný.

Na internetu najdeme celé nůše frajerů, kteří ví všechno nejlépe, do největší hloubky a jsou vůbec nadáni informacemi lepšími, než jedinci jiní. Někteří z nich opravdu machři jsou, jiní si na to jenom hrají, přesto rádi poučují všechny ostatní o tom, že jen oni mají pravdu. Co myslíte, že z nich bude za pár let?

Reklama

Jen tak pro ilustraci se podívejme na zásadní změny, které nás potkaly v posledních 25ti letech. Je jich vážně dost. Nebudeme se posmívat diplomovaným profesionálům od velkých strojů - jenom poznamenám, že příchod jednoduchých osmibitů a "personálních počítačů" byla revoluce, oddělující počítačový středověk od novověku. Tak velká rána to byla, že vytlačila velké počítače z běžných firem a prakticky totálně vyhubila minipočítače.



Zlaté časy gumáků

Na počátku osmdesátých let byly počítače relativně jednoduché - a guru byl ten, kdo je, tak řečeno, kompletně prošmejdil a uměl donutit dělat jejich hardware věci, ke kterým nebyl v podstatě ani navržen.

Jak dlouho se dokážete udržet v IT na špičce?
i Zdroj: PCTuning.cz
Jak dlouho se dokážete udržet v IT na špičce?
i Zdroj: PCTuning.cz
Jak dlouho se dokážete udržet v IT na špičce?
i Zdroj: PCTuning.cz

Opravdu brutální jedinci dokázali neskutečné věci - zatímco normální uživatelé se plácali v Basicu a experti v assembleru, opravdoví šílenci dokázali psát přímo stroják. Prostě si sedli k počítači, nastartovali zcela základní rozhraní a nadrtili něco jako "D5E5F5626B250E07", což by o něco méně drsní jedinci v assembleru Zilogu Z80 zapsali jako sekvenci příkazů "PUSH DE; PUSH HL; PUSH AF; LD H,D; LD L,E; DEC H; LD C,7". Pohled na člověka, který zapisuje přímo hexadecimální formou stroják, je doslova pro bohy. Diskutoval jsem s jedním z nich, jak to dělají - chápal jsem, že základ je pamatovat si perfektně všechny instrukce (stroják nemá žádnou kontrolu syntaxe a téměř každý překlep v něm dává jistý smysl). "Vtip je v tom snažit se používat relativní jumpy," povídal, "no a těch pár absolutních jumpů do ROM si už pamatuješ." Ano, několikastránkový seznam entry pointů a parametrů volání se nějak naučit dá, ale i kdyby nakrásně člověk používal jenom relativní skoky - jak, si, proboha, ten člověk pamatuje, o kolik instrukcí má skočit vzad (to si ještě kapku dovedu představit) a nebo dokonce vpřed (to už je mimo moji fantazii...)? Existoval dokonce programátorský vtip, že opravdovému programátorovi stačí klávesnice se třemi klávesami - "0", "1" a "Enter", protože v podstatě je všechno stejně binární a pravý programátor překlepy nedělá.


Tyto výkony jsou opravdu ohromující - ale k čemu vám dnes je, že umíte zpaměti stroják procesoru 6502 a nebo Z80? K čemu je, že v tom dokážete z hlavy napsat funkční program? Praktická hodnota je minimální, v podstatě jde o intelektuální cvičení, něco jako počítání pí z hlavy na co nejdelší počet desetinných míst. Zatímco ale obecná populace obvykle alespoň zhruba tuší, co je to pí a ocení cirkusový kus s jeho rozepisováním, budete při zapisování čistého strojáku dnes vypadat jako zcela normální magoři.



Kde jsou všechny ty XTéčka?

V polovině 80. let přichází první silné stroje s více koprocesory a skutečnými operačními systémy, ve kterých už to ale není tak jednoduché, protože se jednotlivé verze od sebe kapku liší. Navíc začíná boj s piráty a opravdoví experti se zaměřují na to, jak vymyslet co nejneprůstřelnější ochranu.

Ta často zahrnuje opravdové prasárny, jako přeprogramování řadiče disketové mechaniky a používání vlastního souborového formátu a nebo všelijaké varianty samomodifikujícího se kódu, často v kombinaci s nějakou fintou, nějakou vlastností počítače (časovači např.), která znemožňuje spuštění neoriginálních programů. Experti v tomto okamžiku ovládají hardware tak dokonale, že dokážou např. napsat program pro disketovou mechaniku, který způsobí, že mechanika drnčí hlavičkou všelijaké melodie. S každým update hardware se ale tyto znalosti mění a dnes je doslova pro bohy rozjet starý software na emulátorech, pokud obsahuje něco podobného.


V druhé polovině 80. let se rozšiřují "skutečná PC", která mají neobyčejně různorodou konfiguraci a už není možné snadno psát verze software pro všechny varianty OS a všechny varianty hardware. Oddělení programu od železa vrstvou ovladačů znamená pro řadu expertů předchozí éry problém a stahují se do oblastí "domácích" šestnáctibitů, ale i tam vedou války s multitaskingovým systém Amig a různorodými verzemi OS v ROMce u Atari ST. Ostatní se učí psát software tak, aby fungoval nad různými ovladači, expert je ten, který ví, co v které verzi kterého ovladače nefunguje a jak to obejít, případně si píšou ovladače vlastní. U DOSu se kouzlí v pokusech vyzískat co nejvíce paměti, všelijak se pokouší obcházet komické limity tohoto systému a, abych tak citoval jiného známého, "pokoušíte se roztančit čtyři slony v telefonní budce". Stále tam ale kodeři víceméně mají počítač sami pro sebe. Mnoho koderů se stane experty ve všelijakých "TurboVision" nástavbách, což jim dovoluje dělat profesionálněji vypadající programy, ovšem manuály k nim jsou vcelku tlusté bichle.  



První okénka, ach kde jsou ty časy...

Poté přichází první "profesionální grafické operační systémy", jako jsou Windows 3.0. Vše, co jste věděli o "Vision" nástavbách můžete v klidu zapomenout a učit se něco jiného. Tento pokus o operační systém představuje definitivní mez, kde odpadává většina koderů osmdesátých let.

Často to vzdají poté, co uvidí ještě tlustší bichle a tutorialy, které vysvětlují, jak neobyčejně složitým způsobem udělat totéž, co šlo ještě před nedávnem jednoduše. Například takový tisk na tiskárně - to se dělalo na osmibitech jediným komandem, zatímco zde musíte vyplodit několikastránkový inicializační kód, připomínající svou komplexností některé invokační nekromantické rituály ("Ó, volám tě, mocný Printer Device Drivere (pokud nejsi NULL) a zaříkám tě, abys mi zhmotnil virtuální device, kterýžto nechť zove MyPrinterSpooler a má takový buffer a onu velikost papíru a print color jiný a takové a makové a dělá to a nebo ono, bla, bla, bla! Zhmotni se, MyPrintSpoolere a nechť tvůj pointer není NULL a nechť posloucháš mé rozkazy a nevracíš ErrorMsg!"). Windows jsou vedle DOSu mnohonásobně složitější, ale taky mnohem zákeřnější. Kupříkladu jako ve skutečné magii musíte zhmotněný MyPrinterSpooler obvykle také uvolnit, jinak vás potká neštěstí. (Pokud neuvolníte v magii invokovaného ducha, mívá to prý rovněž tragické následky.) Vedle vaší aplikace může běhat mnoho jiných, jste výrazně oddělení od hardware (ale stále se k němu nějak doplazíte) - a hlavně jde o kolaborativní multitasking, což znamená, že existence funkčního a zdravého systému závisí na slušném chování všech aplikací. Pokud si aplikace půjčila nějaký zdroj, zase ho musela korektně vrátit, jinak byl malér pro všechny. Moje programovací snahy skončily po týdenním bádání, proč mi aplikace tak strašně divně hroutí počítač. Šlo o to, že jsem občas zapomněl vrátit systému paletu pro kreslení na obrazovce, nechal si ji pro sebe - a Windows po čase došly palety a Okna se pak zhroutila, aniž by řekla proč, namalovala jenom prázdný dialog, ale na vypsání chyby už jim chyběla... právě ta volná paleta. Pokud jste byl borec, dával jste psaní ve WinAPI bez problémů, měl jste v malíku všechny trably - a k čemu jsou tyto znalosti dnes?




Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama