Microsoft a jeho házení klacků pod nohy .NET vývojářům

Ten jedinečný a úžasný MS mě dneska dokázal neskutečně vytočit. Nesnáším, když se „vnitropolitické“ zájmy staví nad použitelnost produktu. Jenže přesně to MS dost často dělá. Narazil jsem na další případ. Protože programuji v .NET, tak se pro grafiku automaticky nabízí Managed DirectX. To je takový zjednodušovací wrapper na DirectX z plnohodného „Cčka“. Jenže to by to nebyl MS, aby se nevykašlal u Managed DX na novou verzi. Lze tedy takto pracovat jen s DX9.

To by se samo o sobě ještě dalo, jenže ve Windows Vista jsou DX10, které pracují tak trochu jinak a funkcionalitu DX9 nenahrazují. Pokud tedy chcete spustit nějaký program v Managed DX, musíte do Vist nainstalovat extra DX9 stejně jako Windows XP bez SP2. Co je tohle za logiku. Visty potřebují celé DVD, ale v MS nejsou schopni na toto DVD přidat 50 MB instalaci DX9. Když k tomu připočtu dementní základní hlášky chyb programů v .NET, tak mám pocit, že je to snad jedině cílené házení klacků pod nohy vývojářům. Kdybych věděl, že s technologiemi MS je tolik problému ohledně kompatibility, snad bych radši použil open source alternativní řešení (takhle je nutné instalaci dodávat s aplikací a řešit problém navíc).

Nejvíc mě nakonec vytočilo, když jsem tento problém řešil s lidmi, které považuji za velké odborníky (programováním na produktech MS se živí a jde o velké kapacity), tak se mi dostalo jen odpovědi: „co bys nechtěl od Microsoftu… snad ne kompatibilitu?

Komentáře k článku

  1. 1. tomasherceg  20.2.2008  19:02:00

    DirectX není nutná součást systému, potřebuješ ho jenom na hry a speciální aplikace. Na co by třeba byl na kancelářských počítačích? Prostě se musí přidat do instalátoru. Samozřejmě i já si myslím, že na DVD Visty ho přidat měli, ale stejně si ho nainstaluje skoro každá hra.
    Chybové hlášky jsou v .NETu někdy divné, zvlášť na české verzi OS je ti blbci zlokalizovali, což absolutně nechápu. Ale chci tě vidět u alternativních open source řešeních, chybové hlášky na tom nebudou o nic lépe, dokumentace ještě mizernější a s OpenGL je problémů taky víc než dost. Zlatý DirectX.
    Co se týče Managed DirectX, neexistuje pro DirectX 10, protože jeho vývoj prý už nepokračuje, nástupcem je XNA.

  2. 2. swarm  20.2.2008  20:11:49

    [1] XNA je pokud vim taky jen pro DX9.

    S OpenGL jsem nikdy problém neměl. Ohledně kompatibility vítězí na plné čáře (ostatně už jenom z principu funkcí pomocí extenzí). Ostatně všechny OpenGL programy, co jsme s bratrem dělali už 7-8 let zpátky pořád perfektně běží i dnes. V případě kombinace s SDL pak člověk získá geniální multiplatformnost aniž by musel přepisovat víc než pár řádek kódu.

    Jinak DX je dneska ve Windows nutnost. Všechny Windows (95+) měly v sobě DX, jen ve Vistách je DX10, který v sobě neobsahuje ty minulá (stále hodně používaná DX). Na kancelářském počítači se DX taky využije – třeba na vykreslování Aero okýnek. Celý problém není o DX ano/ne. Je to v té nekompatibilitě a záměrném znesnadňování.

    Jinak srovnání: Na OGL a DX by mi moje simulace zabrala stejně času, programovala by se asi stejně komplikovaně, jen u OGL by pak nebyl problém s kompatibilitou. OGL je holt taková stálice (i když teď taky prochází odtučňovacíma kůrama a změnama). Příště už bych si asi DX nevybral.

  3. 3. tomasherceg  20.2.2008  21:47:20

    [2] No, já jsem měl vždy s OpenGL jen a jen problémy, třeba ze začátku na Windows Vista ovladače některých karet prostě OpenGL nepodporovaly a běželo to všechno přes software processing na 2fps. Nebo jsem potřeboval novější verzi OpenGL než byla v systému a pak se mi různě hádaly různé aplikace.
    A pořád nevidím problém s přibalením DirectX 9 do instalátoru aplikace, to je věc, která nezabere víc než 5 minut.

  4. 4. swarm  21.2.2008  10:11:53

    [3] Tady s v zásadě asi nedohodnem, protože ti půlku příspěvku nevěřim :).

    Vista měla ve své finální (ne-cracknuté) verzi OpenGL na ATI/NVIDIA/Intel kartách (s v tu dobu nejnovějšími drivery) v pořádku. Bavit se o nějakých betaverzích je irelevantní.

    Verze OpenGL je údaj (aspoň zatím) v podstatě irelevantní a vychází jen množiny podporovaných extenzí (a ty jsou na verzi OGL nezávislé). Chybu, že by si nějaká aplikace řekla o novější verzi OGL jsem viděl jen jednou. Šlo o nějakou hru v kombinaci s nějakými pochybnými drivery ATI. To už je ale hloupost aplikace.

    U DX člověk vždycky řešil, pro jakou verzi program udělá… pro DX7, 8, 9,… U OGL to neřeší – prostě to udělá v OGL.

  5. 5. swarm  21.2.2008  10:13:27

    Jinak verze OGL je dána nainstalovaným ovladačem grafické karty. To s tou novější verzí a hádajícíma se programama navzájem vůbec nechápu.


Napsat komentář