Premium

Získejte všechny články mimořádně
jen za 49 Kč/3 měsíce

Mrkvosofti, jděte už vážně do ... Prčic

Aneb: Stručný soupis klacků, které kdy Microsoft hodil pod nohy programátorů. Předem upozorňuji, že článek bude trochu více technický, než by asi většina zdejších čtenářů chtěla. A navíc hóóóóóóódně dlouhý.

O tom, jak Microsoft vykrádá cizí nápady, bylo už napsáno mnoho. V tomto článku bych chtěl pojednat o něčem ještě mnohem, mnohem, mnohem horším - a to o Microsoftích vlastních nápadech.

Windows jako skvělý operační systém

Vždycky mě v diskusích dojímají uživatelé, kteří chválí MS Windows, jaký je to skvělý operační systém. Takovéto ódy se strhnou zpravidla vždy, když někdo zmíní Linux. Jednak jsou Windows mnohem lepší (pochybuji, že ti, co toto píší, Linux někdy viděli jinak, než z rychlíku) a jednak ty nové Sedmičky jsou opravdu super, prostě nejlepší.

Nemám ovšem v úmyslu vést svatou válku za nějaký operační systém, takže slovo Linux je zde tímto zmíněno naposled. Teď už zůstaneme až do konce na platformě MS Windows. Tudíž, chtěl bych v první řadě zpochybnit tezi, že nové Windows jsou nejlepší. Nejsou. Nové Windows jsou vždy jen horší, než byla verze předchozí. Toto platí od Windows NT 4. Jako malá výjimka se můžou jevit právě Windows 7, ale vzhledem k tomu, že se v podstatě jedná o hot fix na Visty (de facto první funkční záplata), tak platí, co jsem psal před tím. Sedmičky (jako Visty) jsou jen a jen horší, než byly XPéčka, a ty jsou zase horší než ... ale pěkně po pořádku.

Samozřejmě, že nejdřív byly Windows 1.0, pak první trochu funkční verze Windows 3.0 a pak ještě trochu funkčnější 3.1x. Ale to stále byly operační systémy, pro které je název operační systém ještě příliš nadnesený výraz. Pak přišel první 32bitový OS - Windows NT 3.1. Docela zajímavá věcička, ale pochybuji, že to někdo kdy viděl nainstalované. A do toho 32bitová verze předchozích třiixek - Windows 95. Tato řada, která obsahovala ještě Windows 98 a velice neslavně skončila Windows Milleniem, byla naprosto k ničemu. Jednouživatelský systém, zcela nestabilní, který padal jak přezrálé hrušky. Programovat se pod tím v podstatě nedalo. Pokud chtěl člověk něco odladit, musel si vypomoct na entýčkách.

Vraťme se tedy zpět k řadě NT. Po dvou dalších verzích NT 3.5 a NT 3.51, které graficky ještě stále vypadaly jako 16bitové 3.x, přišel systém Windows NT 4.0, který se konečně dočkal masovějšího nasazení. Vždycky mě uchvacovala hláška "Windows NT 4.0 - built on NT technology". Pokud to nevíte, tak zkratka NT znamenala "new technology". Takže když tu hlášku z přihlašovacího okénka rozvineme, stojí tam "postaveno na technologii nová technologie". Vtipné, že?

Ale teď vážně, Windows NT 4 byl první opravdu zcela funkční operační systém od Microsoftu, a bohužel, musím říct, že i poslední. Asi se mnou mnozí nebudou chtít souhlasit, ale NT 4 byl absolutně nejlepší operační systém. Vývojářům aplikací poskytoval veškeré služby, které jsou potřeba k napsání libovolné aplikace. Žádný další operační systém už nepřinesl z pohledu programátora nic nového - jenom komplikace.

Entýčka byla navíc relativně bezpečná, a to z toho prostého důvodu, že neobsahovala žádné zbytečné výmysly výrobce, což dávalo prostor jen pro málo děr. Od service packu 5 už to byl vyloženě moderní operační systém. Navíc relativně malý, s malými nároky, svižný, stabilní, a pokud tedy člověk nemastil všechno jako administrátor, tak i v podstatě bezpečný.

Pak přišlo vylepšení ve formě Windows 2000, což měla být jakási kombinace NTýček a 95ek. V podstatě by to také nebylo tak špatné, kdyby už MS nezačal mít ambice cpát do operačního systému nepotřebné kraviny, zejména síťového charakteru, čímž značně snížil bezpečnost systému.

XPéčka kromě dalších bezpečnostních děr přinesla pouze omalovánky a Visty navíc přidaly nenažrané omalovánky. Z hlediska klikače je to možná nepodstatné, když se pravidelně záplatuje, tak to nějakou tu dobu ustojí. Ale z hlediska programátora se každý nový OS vyrovná morové ráně.

Podpora multijazykových programů

Aby nevznikl dojem, že Windows 2000 byly stejně skvělé, jako NTýčka, nebo možná dokonce lepší, podíváme se z blízka na první klacek. Aplikace, které běží pod Windows, mají, respektive mohou mít, už od začátku Windows tak zvaný resource. Je to v podstatě kus dat, přilinkovaných ke spustitelnému kódu. Je to asi nápad MS, a je to docela dobrý nápad. Umožňuje oddělit kód programu od dat. Samotný program si za chodu do tohoto resourcu sahá a tahá odtamtud spoustu informací. Mezi jinými třeba to, jak mají vypadat dialogová okénka, nebo hlášky, které se mají ukázat uživateli.

A právě s verzí NT 4 přišli vývojáři MS ještě se zajímavějším nápadem - každý jednotlivý údaj, ať už šablona dialogu, nebo textový řetězec, nebo cokoli, může být v resourcu uložen v libovolně mnoha exemplářích, pro každý jazyk, který chce aplikace podporovat, jeden. Operační systém pak sám najde tu správnou jazykovou verzi dle uživatelova nastavení operačního systému.

Toto fungovalo bezvadně, ale jen do té doby, než přišly Windows 2000. Ty najednou nebyly schopné najít tu správnou verzi, a třeba několikaletá práce programátorů tím šla rázem do kopru (což ostatně nebylo u MS poprvé ani naposled). Neschopnost systému najít správnou jazykovou verzi byl nejspíš bug, ale MS už ho nikdy neopravil. Neopravil ho ani v XPéčkách a programátorům doporučil, dát si resource zvlášť, každý do jedné dll, a za běhu si načíst tu správnou. Jinými slovy: pomoz si sám, my na tebe z vysoka ...

COM nebo .NET?

Druhá morová rána nesouvisí přímo s operačním systémem, ovšem časově zapadá do období přechodu z Windows 2000 na Windows XP. Jedná se o druhý, vcelku dobrý vynález MS. S rozvojem 32bitové architektury přišel MS na pomoc programátorům s technologií zvanou COM (component object model). Z hlediska programování se nejednalo o nic převratného, ze strany MS šlo v podstatě o vytvoření API podporující sdílení kódu mezi aplikacemi. Snahou bylo rozdělit, respektive umožnit rozdělení spustitelného kódu do logických modulů, navzájem nezávislých, které by bylo možné sdílet mezi aplikacemi. Je to v podstatě podobná filozofie, která byla užita u pluginů pro webové browsery. Jenom to trochu rozšířili.

Stovky, možná tisíce firem po celém světě, strávily sedm nebo osm let budováním aplikací postavených na COMu, aby pak najednou MS přišel s tím, že má něco nového. Tato novinka se jmenovala .NET a pro změnu se zase notnou dávkou nechala inspirovat u Javy. Z milosti Boží, tedy chci říct Billa Gatese, bylo sice možné nějakým pochybným způsobem obě technologie skloubit, ale dobrotu to nikdy nedělalo.

No a tak se masově začalo přepisovat. Protože staré COMovské kódy jsou v .NETu prakticky nepoužitelné, musí se téměř všechno přepsat od nuly. MS se sice zachoval šlechetně a dal na to vývojářům nějaký čas, ale zase jednou vzkázal do světa toto: "Velice si vážíme, že jste se rozhodli vyvíjet aplikace pro náš operační systém. Je nám líto, že jste investovali tolik prostředků do vývoje něčeho, co už dál nebudeme podporovat. Musíte to všechno vyhodit a začít znovu. Nic si z toho ale nedělejte. My na vás z vysoka ... a než to všechno přepíšete, tak my mezitím vymyslíme zase něco nového. Cha, cha, cha."

Registr Windows

A do třetice se podíváme na windowsovský registr. Třetí, a poslední v tomto (krátkém) výčtu morových ran souvisí s přechodem z XP na Vista (7). Nejprve mi dovolte krátké zamyšlení, co to vlastně ten registr je. Řada lidí tomu říká registry, protože se to anglicky jmenuje "registry". Ale právě proto je to jenom jeden registr, protože kdyby jich mělo být víc, tak by to anglicky byly "registries".

Takže terminologii bychom měli zmáknutou, a teď co to tedy je. Někde na webu jsem našel hezké vysvětlení: registr je databáze (nebo si to tedy aspoň Microsoft myslí :-)))), kde jsou uloženy různé informace o nastavení systému a aplikací.

Dobře, nebudeme se přít zda to databáze je nebo není. Je to prostě nějké úložiště dat, které v době svého vzniku mělo nahradit tak zvané INI soubory, tedy zabránit jakési roztříštěnosti dat po disku a shromáždit všechny podobné informace na jednom místě.

(Tady si dovolím vtipnou poznámku. Myšlenka to byla jistě zajímavá, i originální, ale záhy MS zjistil, že jim tam SW firmy perou tuny zcela zbytečných informací, s čímž nepočítali. Takže při přechodu na .NET začaly propagovat novou myšlenku - ať si každá aplikace schová svoje informace v soukromém XML souboru, a do registru nám radši nesahá. Taktéž originální. :-)

Nuže, tento registr byl rozdělen na pět kategorií. Dvě pro aplikace zcela nezajímavé, jedna polozajímavá a dvě docela zajímavé. Ty dvě zajímavé se jmenují HKEY_CURRENT_USER a HKEY_LOCAL_MACHINE. Obě mají podsložky "Software", které právě byly určené aplikacím, aby si v nich schovávaly svá soukromá data. Jak název napovídá, jedna složka byla určená pro data konkrétního uživatele, zatímco v té druhé měla být uskladněna data společná všem uživatelům.

Typický příklad, ve složce konkrétního uživatele lze třeba uložit informace o tom, kde měl naposled umístěné okno, jaký soubor měl naposledy otevřený a podobně. Naproti tomu ve složce společné všem uživatelům je vhodné umístit třeba informace o licenci. Některé aplikace třeba prudí s registrací u každého uživatele. To já nechci. Pokud si rodinka koupí můj program, ať si ho jednou zaregistrují, ale pak ať ho klidně používá taťka, mamka, děti i babička. Není důvod u každého prudit s novou registrací nebo s čímkoli. A od toho je právě výhodné tuto informaci umístit do registru, v místě, které vidí všichni uživatelé stejně.

Tak to krásně fungovalo až do příchodu Vist. Samozřejmě, struktura registru zůstala stejná. Co se ovšem změnilo je, že systém udělá nějakou lokální kopii kořene HEKY_LOCAL_MACHINE pro konkrétního uživatele a tam pak zapisuje. A aby to nebylo ještě tak jednoduché, tak pokud je nějaká informace do těchto míst vložena administrátorem, vidí ji všichni stejně. Ale pokud si ji někdo přepíše se svého účtu, má ji jinou, ale tu jinou hodnotu vidí jenom on sám. Původní rozvržení registru tímto zcela pozbylo svůj smysl.

Závěr

A aby nebyl všem pohromám konec, něco podobného zavedli i na souborový systém. Třeba obsah adresáře "C:\Program Files" se pro každého uživatele kopíruje do nějaké temné složky, takže změny, které tam dotyčný uživatel provede, jiný už neuvidí.

Jestiť pak i jiných mnoho věcí, kteréž činil Microsoft, kteréž kdyby měly všecky, každá obzvláštně, psány býti, mám za to, že by ten svět nemohl přijíti těch knih, kteréž by napsány byly. A tak tady sedím, píšu a volám: "Mrkvosofti, jděte už konečně se všema těma vašima nápadama do PRDELE."

Autor: Pavel Krejčíř | pondělí 1.2.2010 10:40 | karma článku: 40,92 | přečteno: 7805x
  • Další články autora

Pavel Krejčíř

Lze vytvořit HDR z jediné fotografie?

Většina z vás to už asi někde viděla, i tady na blogu už se jich pár vyskytlo. Třeba Marián Béreš tu nějaké měl. Jsou to takové ty fotky s divnými barvami, ale když se to povede, může to vypadat docela hezky.

5.3.2015 v 14:00 | Karma: 13,90 | Přečteno: 1231x | Diskuse| Hobby

Pavel Krejčíř

3D z hlubin dávnověku

Možná máte pocit, že 3D nadšení vyvolané filmem Avatar je již na ústupu. A máte pravdu, ale rozhodně to není první ústup ze 3D nadšení v dějinách lidstva. Ve svém seriálu o 3D fotografii jsem už jednou nakousl, že 3D fotografie je stará jak fotografie sama. Od dob vynálezu fotografie už lidstvo prodělalo minimálně tři vlny 3D nadšení.

2.2.2015 v 8:30 | Karma: 7,69 | Přečteno: 566x | Diskuse| Hobby

Pavel Krejčíř

Fraktálovo velmi pozdní odpoledne 2

Tak jako se série kolegy Řeháčka dočkala již čtvrtého pokračování, přicházím i já s pokračováním mého skrovného příspěvku do světa fraktálů. Samozřejmě, že jsem žádné pokračování neplánoval, ale tak už to chodí.

22.10.2014 v 14:20 | Karma: 9,70 | Přečteno: 675x | Diskuse| Věda

Pavel Krejčíř

Fraktálovo velmi pozdní odpoledne

Tento článek je inspirován sérií článků kolegy Řeháčka. Abyste to špatně nepochopili - rozhodně mu nechci lézt do zelí ani do jeho lagun plných mořských koníků. Ale jak postupně přibývají články jeho populární série, začínám propadat panice, jestli snad na něco nezapomněl.

17.10.2014 v 8:00 | Karma: 11,23 | Přečteno: 702x | Diskuse| Věda

Pavel Krejčíř

Co nám říkají satelity GPS o teorii relativity

Satelity GPS jsou často prezentovány veřejnosti jako fantastický důkaz o platnosti Einsteinových teorií relativity. Realita je ovšem trochu jiná. Pokusím se vysvětlit, jak to se vztahem GPS a relativity je doopravdy.

19.9.2014 v 23:10 | Karma: 20,09 | Přečteno: 1572x | Diskuse| Věda
  • Nejčtenější

Studentky rozrušila přednáška psycholožky, tři dívky skončily v nemocnici

25. dubna 2024  12:40,  aktualizováno  14:38

Na kutnohorské střední škole zasahovali záchranáři kvůli skupině rozrušených studentek. Dívky...

Podvod století za 2,4 miliardy. Ortinskému hrozí osm let a peněžitý trest 25 milionů

29. dubna 2024  6:21,  aktualizováno  13:19

Luxusní auta, zlaté cihly, diamanty a drahé nemovitosti. To vše si kupoval osmadvacetiletý Jakub...

Stovky amerických obrněnců se v řádu dnů nepozorovaně přemístily do Česka

2. května 2024  17:21

Několik set vozidel americké armády včetně obrněnců Bradley nebo transportérů M113 se objevilo ve...

Zemřel bývalý místopředseda ODS Miroslav Macek. Bylo mu 79 let

1. května 2024  12:58

Ve věku 79 let zemřel bývalý místopředseda ODS a federální vlády Miroslav Macek, bylo mu 79 let. O...

Moskva se chlubí kořistí z Ukrajiny: Abramsy, Leopardy i českým BVP

1. května 2024  15:38

V Moskvě ve středu začala výstava západní vojenské techniky, kterou používá ukrajinská armáda a...

Nová odhalení z fakulty: studenti viděli vraha dřív, policie byla v budově víckrát

3. května 2024

Premium Masový vrah David K., který v prosinci při střelbě na Filozofické fakultě Univerzity Karlovy v...

Na důchodce zaklekli, chalífát neřeší. Němce děsí mdlé reakce jejich politiků

3. května 2024

Premium Snímky stovek radikálních islamistů demonstrujících v ulicích severoněmeckého Hamburku, kteří...

Na jednání o míru nepřijdeme, vzkázali Rusové. Švýcaři je ani nezvali

2. května 2024  22:11

Švýcarsko iniciuje vlastní mírovou konferenci o Ukrajině. S pozváním Ruska na setkání, které se má...

Pavel zkritizoval všechny. Nefér jsou Babišova slova i kampaň SPOLU, míní

2. května 2024  21:36,  aktualizováno  21:50

Kampaň, která dělá z hnutí ANO zastánce ruských zájmů, je podle prezidenta Petra Pavla stejně nefér...

  • Počet článků 167
  • Celková karma 0
  • Průměrná čtenost 2176x
Nedávno mi bylo dvacet. Nadělal se kolem toho docela humbuk, později tomu začali říkat sametová revoluce. Teď se živím jako programátor-guru s vedlejší funkcí "Viktor Čistič". To znamená, že likviduji škody, které napáchali jiní. Kdo likviduje škody po mně, to opravdu netuším. Jo, a v diskusích už nevystupuji pod nickem dolch, ani pod žádným jiným.