Protože jsem měl "něco málo" do činění jak s platformou COM/DCOM, tak i COM+ a sleduji i .NET, dovolil bych si připodotknout pár poznámek. Nechci teď .NET porovnávat s J2EE, na to vím o J2EE příliš málo (jen teorii, chybí mi praxe), ale to již udělali jiní a zkušenější (viz. nějaká srovnání, která jsem vesměs našel na slashdot apod.) a ti se - více méně - shodli, že obě platformy jsou na tom cca fifty - fifty. Ale konkrétně k předchozímu příspěvku:
ad 1) MS neopustil platformu COM/DCOM! COM+ je pokračování DCOM (další služby, integrace MTS, ...). A .NET má plnou integraci s COM+. Ale .NET stojí výš a dál a řeší _SPOUSTU_ problémů, které neřešil COM+. Taky se původně .NET u MS vyvíjel pod označením COM3 (údajně). A pro využití .NET není nutné opouštět stávající systémy, protože .NET runtime (přesněji CLR a .NET knihovny) je/bude k dispozici pro všechny MS systémy od Win98 až po handheldy. Nechci komentovat tvrzení o snahách MS, aby firmy ... - s tím souhlasím. Nesouhlasím pouze s tím, aby se toto tvrzení dávalo do kontextu s .NET, potažmu COM/COM+
ad 2) Jistě, že MS se snaží dotáhnout J2EE tam, kde je J2EE dál. A naopak, v některých oblastech tuto platformu .NET předčí. Navíc se neustále setkávám s tvrzením o přenositelnosti řešení na bázi J2EE, ale to prostě není pravda! Buď takové řešení/aplikace nebude využívat plný potenciál konkrétního produktu a bude tak silně poškozena oproti konkurenčním řešením/aplikacím, nebo se také přiváže na jeden konkrétní produkt - IBM, SUN, atd. Ano, rozdíl mezi dvěma různými implementacemi J2EE je menší, než mezi každou z nich a .NET, ale to na podstatě věci nic nemění - prostě to řešení je vázáno na jeden produkt a jednoho dodavatele. Navíc možnost použití více různých jazyků není až tak zanedbatelná. Ve světě, kde jsou ještě pořád aktuální miliony řádků zdrojového kódu v Cobolu je prostě podstatné, jestli ten Cobol bude k dispozici i nadále. A pokud mám programátory, kteří umí VB nebo C++, proč je mám přeučovat na Javu? A pokud jde o "připojování MS k existujícím řešením" konkrétně ve spojení s DCOM - v době, kdy MS začal dělat COM/DCOM, a) Corba ještě nebyla tak propracovaná a b) chápu potřebu MS jako komerční firmy vyvinout si něco vlastního a nebýt závislý na dalších dodavatelích . (My se snažíme o totéž - proto opouštíme DCOM )
3) C# (čti "cis") - rozborů bylo hodně, zrovna s Vašimi názory na garbage collection nesouhlasím, nevím nic o přímém přístupu do paměti v C#, vím o podstatně lépe vyřešených konstruktorech a dědičnosti, delegátorech apod. Jde o vkus A že se C# podobá Javě? A Java se nepodobá C/C++? A co C a Pascal? A autoři Moduly by se měli stydět - tehdy v podstatě kopírovali. Autoři PL/1 dtto! Zajímavé, tehdy to tolik nevadilo... že by proto, že nebyli od MS? Ale vážně - jistě, že se to podobá jiným jazykům, vždyť v dané chvíli to ani jinak nejde! Osobně na tom neshledávám nic špatného. Naopak, mně osobně se líbí, že to je odlehčené C++ (žádné šablony atp.), je víc C++ než Java, má to konečně pořádně výjimky a dědičnost ... prostě spousta hezkých věcí. Jako člověku jen málo dotčenému Javou se mi bude snáze přecházet z C++ na C# než na Javu, to je jisté
A konečně 4) - COM+ je prostě jen další vývojová fáze COM/DCOM. Integrace MTS a MSMQ je logická a nutná - transakce a bezpečné doručování zpráv je velmi důležitou součástí takového systému, o škálovatelnosti a vyrovnávání zátěže (scalability, load-balancing) ani nemluvě. Nekritizujete to u Corby, proč Vám to vadí u COM+? Tohle bych jim nevyčítal, je spóóóusta jiných věcí, které bych jim vyčítal mnohem víc
A na závěr poznámka o "otevřenosti řešení". .NET je otevřený tak, jak se to hodí pro cíle MS. To je jasné a pochopitelné. Chtějí to řešení udělat jen tak otevřené, aby k němu přitáhli co nejvíc programátorů, nabalili na sebe co nejvíc produktů třetích stran a přitom to vše měli sami pod kontrolou. Není to možná tak hezké, jak bychom si přáli za krásných měsíčních nocí na břehu tichého jezera, ale romantiku stranou - je to byznys. Sun, IBM a řada dalších nedělají při implementaci svých řešení nic jiného. Jenom jim to možná (bohužel) nejde tak dobře (jako např. blahé paměti OS/2 vs. Win95 ).
No, to jsem se zase místo práce rozepsal Sorry, ale nedalo mi to. Připomínky konkrétního rázu uvítám (i mailem), flamewar a obecné cancy typu "J2EE rulez", prosím, směřujte na nejbližší lampárnu.
Karel Obluk