Uběhly skoro tři týdny a ty pořád nic nepíšeš na blog, vyčítají mi tu a tam přátele po ICQ nebo nad večerním šálkem čaje na který se mi dostává stále méně a méně času. Ano, už to bude brzy měsíc co jsem nastoupil do Atlasu, českého portálu, který poslední dobu stál spíše ve stínu ostatních.
„Jdu zhodnocovat investice akcionářů“, směji se když okolí vyzvídá co od toho očekávám a tvářím se víc než tajuplně. Z mizejícím údivem přátel, ale pomalu mizí i můj čas a blog bylo to první místo kde se to projevilo. Není divu, pochopit minulost a současnost velké firmy, udělat si v hlavě představu kudy se budou ubírat další mé kroky spolu s Atlasem, to není žádná sranda.
Obrázek: Výhled z jedné z teras na něž je vstup přímo z kanceláří Atlasu. V pozadí Žižkovská televizní věž (za rohem domu na levo je stanice metra Flora).
Důležité je, že mě Atlas v mnoha směrech překvapil. Pracuje tu hodně chytrých lidí jejichž znalosti mě tu a tam mile překvapují a hlavně v mnoha směrech je Atlas jedničkou nebo dvojkou již dnes. I když do není navenek viditelné. Jednou z takových oblastí je třeba softwarový vývoj. Nejsem si jist kam se posunul Seznam od doby kdy jsem v něm pracoval, ale v této oblasti je prakticky jediným portálem, který by se mohl tomu zde snad smměle postavit a nejsem si jist zdali za ty roky dospěl do světa, který mají k dispozici naši programátoři a který mě v posledních měsících také nevyvádí z údivu a to světa .NET.
Obrázek: sem si mohou Atlasáci zajít na něco na zub
I když svého času velký zastánce Open Source a vrhal nevraživé pohledy na Microsoft, v tomto musím smeknout klobouk a uklonit se hluboce až k zemi. A nakonec .NET není jenom o Microsoftu, který ho vytvořil a nechal standardizovat poměrně velké části této technologie. Např. CLI (Common Language Infrastructure) nebo jazyk C# .
I díky tomu existují poměrně slušné Open Source implementace .NETu, které by nám umožnily prakticky ze dne na den migrovat všechny aplikace na Linux, FreeBSD, Mac OSX nebo zSeries mainframe, pokud by se ukázalo, že by to mělo nějaký smysl. Je zvláštní, že práve Microsoftu se podařilo dosáhnout vytvořit platformu s takovou portabilitou a s výkoností kdy nemá moc smylu přemýšlet o tom psát něco v C nebo C++.
Cílem projektu Mono (Open Source implementace .NET) je dokonce stát se vývojovou platformou č. 1 pro Linux. (více o platformě .NET najdete třeba v v audiovizuálním centru Sillicon Hill).
Ale zpět k Atlasu. Mám pro vás hádanku. Na většině dveří zde je tabulka na které snadno zjistíte kam vstupujete. Zdalipak si tipnete kam vedou tyto dveře?
Ještě před 14 dny byl oblíbeným jazykem Python a najednou zjišťujeme, že už několik měsíců .NET a C# rulez? Divné, divné. No nic, ve světě Microsoftu je zvykem tleskat si navzájem a Atlas je zřejmě pod silným microsoftím vlivem (provozovali i českou verzi MSN), osobně mi to přijde trochu sektářské, ale budiž...
Každopádně, s tím .NETem a otevřeností je to tak, že pokud bude mít Microsoft páky a bude chtít omezit konkurenci za pomoci SW patentů apod., tak se nebude štítit ničeho. Rozhodně je .NET projekt, který má za úkol vývojáře a uživatele k Microsoftu ještě pevněji přikurtovat a ne naopak. Autor by to mohl vědět; tohle píšu pro případné nic netušící čtenáře.
[1] je za nimi vývoj a moje kancelář, tedy více místností, ale druhá část odpovědi je v podstatě správná :-)
[14] Python je mým oblíbeným jazykem i nadále, ale je to je jeden z mnoha jazyků, které mohou využít výhod plynoucích z .NET frameworku. C# je pro mě malý kompromis (moc závorek, přiliš cyklů, obecně referenční příručka jazyka by mohla být o 5 stran kratší, ale to je dáno C-style minulostí). Nicméně veškeré připomínky Python vs. C# z mé strany jsou spíše ideové než technické tj. s C# nemám žádný problém jako s jazykem, ale síla C# není v tom, že je to jazyk, ale v tom, že je to primární jazyk na celé platformě.
Ps. a idevé ústupky jsou vyvažovány v oblasti performance. I když Python pod .NET je také asi 2,5x rychlejší než v nativní verzi :)
Vliv Microsoftu: a mohl by jste mi vysvětlit na základě čeho by v Atlasu Microsoft měl mít vliv? :-)
.NET - netušící čtenáře :-))) bych odkázal na stránky projektu Mono a konference s Monem souvisejícím kde tyto témata byla dost hluboce diskutována. Když s tímto projektem Miguel de Icaza přišel, taky jsem to nechápal proč dělat Open Source klon .NET, tlačit ho jako primární Linux plaformu a začít plánovat přechod Gnome k Mono tj. .NET. A důvod? Viděl jsem za .NETem Microsoft a vlastně vůbec nepochopil co .NET je :-).
Pokud se týká patentů apod. ta hrozba tu je. Je přibližně stejná jako že totéž udělají všechny společnosti, které do Open Source přispívají a to od IBM, Novellu až po onen Microsoft. Opravdu doporučuji prostudovat si tuto problematiku v diskusích, kterých kolem Mona je plno.
[15] Byl myšlen vliv "kulturní", ne finanční. Každopádně je Atlas, na rozdíl od druhých dvou portálů, založen na MS technologiích a já jsem měl možnost vyskytovat se na akcích jedné velké firmy, která s Microsoftem úzce spolupracuje.
Co se týče .NETu, tak jste tedy nechápal, pak jste prozřel, chápete, ale neřeknete. Dobrá, beru na vědomí.
Ta patentová hrozba je přibližně stejná jenom teoreticky, neříkejte, že nevidíte rozdíl.
Pythonem pod .NET máte, předpokládám, na mysli IronPython. Ano, některé konstrukce tam rychlejší jsou (na stránkách IronPythonu se konkrétně uvádí 1,7x oproti CPythonu 2.3, nyní máme verzi 2.4), nicméně v praxi ten rozdíl takový nebude. Až uvidím benchmarky Zope nebo jiného velkého projektu, bude to zajímavější.
Mimochodem, poslední novinky na stránkách IronPythonu jsou z roku 2004 a poslední verze má označení 0.6 - jinými slovy ten projekt vypadá dost mrtvě. Ano, Python může využít výhod .NETu jako jiné jazyky, nicméně IronPython nedovoluje využít všechny možnosti aktuální verze Pythonu, což je velká škoda.
[16] Ano, myslel jsem IronPython, který vytvořil Jim Hugunin. Jim původně chtěl dokázat, že .NET je pro jazyky jako Python nevhodný, ale podařilo se mu dokázat něco jiného.
Jim někdy od léta 2004 odešel pracovat do Microsoftu a další verze IronPythonu jsou dostupné v Download Center přímo na microsoft.com. Poslední verze co jsem našel je IronPython 1.0 beta 6 z 20. dubna 2006 (tedy 2 měsíce stará :-))
Výkonostní rozdíly jsou odlišné test od testu, ale ve všech ten výkonostní rozdíl je. Nakonec myslím, že i Migue de Icaza, jedna z osobností projektů Gnome a Mono, poznamenal, že Mono je sice v tuto chvili o něco méně výkoné než MS .NET framework, ale jazyky v něm implementované i tak vykazují vyšší výkonost než v jejich nativních implementacích. Já bych se odkázal třeba na Phalanger, implementaci PHP do .NET. Prostě bych se smířil s tím, že je to obecná vlastnost .NET :)
Ale .NET není o výkonosti. To je jen jedna z výhod "tak nějak mimochodem".
Zope sleduji již několik let (min. 8 let) - fakticky od časů jednoho z jeho předchůdců - Bobo od Digital Creations. Zope je ale pouze web aplikační server a jako takový není s .NET přímo porovnatelný a to nejenom v oblasti výkonu.
Problémem pythonu v .NET je to, že zde již nenabízí tak mnoho výhod oproti C#, který je zde nativní.
Pokud se týká onoho "prozření" :-) tak k tomu stačí vyhradit si čas a přepsat si pár vlastních programů do C# a ASP.NET (a překonat počáteční odpor, že se člověk musí učit něco nového). Tím se nejlépe člověk dozví o čem .NET je. Obecné prezentace jsou hezké, ale neřeknou vám mnoho.
Já sám když jsem začal studovat třeba C# tak jsem se obával toho, že výsledkem bude, že v Pythonu bude (z mého subjektivního pohledu) vývoj nadále efektivnější (nemám moc rád jazyky vycházející z prehistorického C). Ukázalo se, že to tak vůbec není.
Opravdu doporučuji prostudovat a vyzkoušet.
Mea culpa, s tou verzí 0.6 jsem fakticky ujel, nicméně výsledky v Google na stránky Microsoftu vůbec neodkazují, alespoň v prvních výsledcích; proč si na stránce neudělá Hugunin aspoň redirect, tomu nerozumím. Vývoj moc nesleduju, protože v zaměstnání i doma mám na desktopu linux a Mono je strašlivý moloch, který se mi nevyplatí instalovat.
Co se týče Zope, tak to jsem vzpomínal jedině jako příklad projektu dostatečně velikého na to, aby se poznaly skutečné rozdíly ve výkonu mezi CPythonem a IronPythonem. Výkonnost .NETu - třeba u IronPythonu to Hugunin vysvětloval tím, že se, zjednodušeně řečeno, IronPython snaží potlačovat dynamiku a abstrakci, kde je to možné bez ztráty funkčnosti programu. To samé bych čekal od JIT kompilátorů jako je Psyco.
C# nepoužívám, ale třeba oproti Javě JE v Pythonu vývoj rychlejší, protože vyjadřovací prostředky jsou na zcela jiné úrovni a jazyk je přehledný a není ukecaný. Přepsat pár svých programů do C# zkusit můžu, ikdyž v nejbližších měsících asi nebudu mít času nazbyt. Co se týče ASP.NET, tak tam to bude složitější, protože do webu zase tak moc nedělám a upřímně řečeno, víc bych věřil něčemu jako Django nebo Turbo Gears. Ale proč ne. Obávám se ale, že je mi Python šitý takřka přesně na míru - když jsem jej poznal (po zkušenostech s klasickými jazyky jako C++ a Java), byl jsem u vytržení. Mám určité zkušenosti třeba i s Lispem a zkoušel jsem různé jiné jazyky, ale žádný mi zatím zdaleka tolik nesednul. O tom se dá diskutovat dlouho.
[19] Diskutovat se o tom dá jistě dlouho, ale asi bychom se jen plácali po ramenou :-). Mě se Python líbí a budu nadšený pokud z něho Microsoft jednou udělá třeba jeden ze standardních jazyků,. které bude distribuovat spolu s Visual Studiem. Už jen to jak se v něm angažuje je zajímavé, ale není to poprvé. Svého času byla v Pythonu napsana minimálně část SiteServeru. V poslední době jsem zaznamenal i nějaké aktivity okolo Ruby. Uvidíme :-)
Atlas byl microsoftími technologiemi uchvácen a fascinován od samého počátku své existence a od samého počátku to na něm bylo zřetelně patrné: všechno ultra- super- hyper- nablýskané a všechno zřetelně pomalejší a chybovější než u ostatních. Vypadá to, že v tom hodlá pokračovat… Každý svého štěstí strůjcem…
[23] Sranda je, jak je těmi technologiemi uchvácen třeba onen zmiňovaný Migul de Icaza, člověk, který j pro mě už roky guru v Open Source a desktopu (Gnome - vzpomínáte ještě na svaté války Gnome vs. KDE ?) na Linuxu :-). Dokonce tak, že je reimplementuje jako Open Source a s vizí toho, že se pod Linuxem stanou hlavní vývojovou platformou. Jak těm tvrzením o MS technologiích mám rozumět? :-)))
Ad [24]: Ano, Miguel de Icaza, to je jméno, které poslední dobou vídám velmi často. Bohužel v naprosté většině případů nemám z toho, co on propaguje a prosazuje, ani trochu dobrý pocit. A to, kam směřuje poslední dobou Gnome, mne místy přímo děsí (třeba Save As a další nativní dialogy v Gtk). Takže to nebyl vůbec dobrý příklad...
s prechodem na mono si snad delate srandu, v monu jsem napsal nekolik projektu, ale hodi se to fakt jenom na mensi aplikace co do rozsahu funkci. v momente, kdyz zacnete pouzivat celou sirokou skalu funkci frameworku, zacne NotYetImplementedException vyskakovat docela casto. naposledy jsem to zkousel pred pul rokem a vzteky jsem to pak radsi napsal v jave. plus jedna vec me vcelku na monu vadi a to je pustopne vznikajici .dll(.so)-hell skompilovat komplexnejsi aplikaci bez automaticke spravy balicku nejde - spousta low-level knihoven, ktere na sobe zavisi a k nim wrapery - to je rajska zahrada pro masochisty
Přečteno 177 553×
Přečteno 143 723×
Přečteno 82 388×
Přečteno 77 341×
Přečteno 67 050×