Roman Štrobl, přezdívaný Roumen, je NetBeans evangelista a řada javistů jej zná z akcí CZ JUGu, nebo CZ podcastu.
30.7.2007 10:00 | MaReK Olšavský | přečteno 12223×
Pracuji ve firmě Sun Microsystems jako Technology Evangelist, cílem mojí práce je dělat promo Sunovských technologím, a to především open source projektu NetBeans, na němž pracuji cca. 3 roky. Lidé se často ptají, co takový evangelista dělá, není to totiž úplně obvyklý pracovní titul. Velkou část trávím cestováním po konferencích různě po světě a dělám prezentace, většinou o NetBeans. Kromě toho píšu blog, natáčím dema ve Flashi, dělám rozhovory, a vůbec všelijak komunikuji s naší vývojářskou komunitou kolem NetBeans. Narozdíl od klasického marketingu je to ale mnohem techničtější - mám za sebou mnoho let práce jako vývojář a to se určitě hodí. Člověk z marketingu by v této brandži bez zkušeností s vývojem jen těžko uspěl, většinou se s vývojáři bavím na velmi technické úrovni a občas i jim poradím jak vyřešit nějaký problém či pomohu s použitím nových technologií.
Co se týká přezdívky, říká se mi Roumen a to proto, že Roumen vznikne když vyslovíte Roman anglicky. Vím, nedává to příliš smysl, ale tak je na tom většina přezdívek.
Určitě je to relevantní otázka? :) Jsem svobodný, do Prahy jsem přišel z Průhonicka a je mi 27 let. Foto viz např. tady a tady.
Používám více operačních systémů, na svém notebooku mám trial-boot Windows, Linux a Solaris. Jako Solaris používám Sunovskou distribuci, a to konkrétně vývojovou větev Solarisu 11 Nevada, příjde mi v současné době nejpoužitelnější a konečně také Solaris funguje celkem dobře na notebooku. Zkoušel různé další OpenSolaris distribuce, ale bohužel jsou ještě příliš nové a tudíž nejsou úplně doladěné. Jako Linux používám Ubuntu, ale jen krátce, před Ubuntu jsem používal RedHat (od verze 6.1 a poté Fedoru). Pro prezentace většinou používám Windows, protože nemají problémy s projektory (narozdíl od Linuxu a Solarisu - a ano mám správně nakonfigurovaný MultiView a nainstalované nejnovější ovladače :).
Fedora byla dříve mojí oblíbenou distribucí, ale bohužel nejsem příliš spokojený s tím jak vede RedHat její vývoj, takže v poslední době jsem přešel na Ubuntu. Příjde mi, že poslední verze Ubuntu jsou jednodušší na používání a vadily mi také některé historické kroky RedHatu -- například před pár lety používali nestabilní GCC, že se snaží tlačit Enterprise Linux a na uživatele Fedory občas trochu zapomínají a podobné záležitosti. S Fedorou (a původním RedHat Linuxem) mám určitě nejvíc zkušeností, na druhou stranu rád zkouším nové věci a opravdu se mi líbí směr, kterým se Ubuntu ubírá, začíná být použitelná i pro lidi co nedělají v IT.
Vím že Canonical Inc. spolupracuje se Sun, trochu jsem se na protlačování NetBeans do Linuxových distribucí také podílel (například to, že najdete NetBeans na update serverech SuSE je moje práce). Jsme v kontaktu s dalšími výrobci Linuxových distribucí, ale s Canonical je určitě spolupráce nejaktivnější. U ostatních distribucí se především zasazujeme, aby open source projekty, na kterých se podílí Sun, byly součástí těchto distribucí.
Takže operační systémy střídám podle potřeby, BSD nepoužívám, i když mám trochu zkušeností s OpenBSD z firmy, kde jsem pracoval před Sunem.
Mimochodem pokud by někoho zajímalo jak rozchodit trial boot Win+Linux+Solaris, psal jsem o tom ve svém blog, není to zrovna triviální: blogs.sun.com/roumen/entry/winxp_ubuntu_and_solaris_10
To je těžké říct, Linuxářů je v českém Sunu určitě dost, velká část vývojářů NetBeans používá Linux jako hlavní operační systém (včetně zakladatele Jardy Tulacha, který je nadšenec do Mandraku resp. Mandrivy). O BSDčkáři v Praze vím o jednom, ale určitě jich bude v Sunu mnohem víc. V Sunu je celkem oblíbený Solaris, například moje manažerka používá jedině Solaris na SunRay. Možná by také mohlo být zajímavé zmínit, že máme v Sunu policy, že se nesmí používat produkty firmy Microsoft kromě operačního systému, na většinu aplikací typu Microsoft Office či Outlook je potřeba složitě si žádat si o vyjímky. Takže i když někteří zaměstnanci Sunu používají Windows na desktopu, nad nimi jim běží OpenOffice, Firefox, Thunderbird, Gimp a další open source programy.
Sun podporuje OSS, a to tak, že všechen software co Sun v současnosti vytváří je a nebo bude brzy open source. Sun má kořeny v BSD komunitě, jedním ze zakladatelů Sunu je Bill Joy a Sun prosazoval vždy otevřené standardy - Sun se podílel na TCP/IP, vytvořil NFS, soustavně přispívá k projektům jako Gnome, sponzoruje velkou část vývoje OpenOffice, samozřejmě pak NetBeans a relativně nově také Solaris a Java jsou opensource. Open Source projektů, na kterých se Sun podílí, je několik stovek a podle nedávné studie Evropské Komise Sun přispívá k open source největší mírou ze všech firem (zdroj). Sun také velmi silně propaguje otevřené standardy pro dokumenty a pro sdílení dat.
O volbách licencí toho příliš nevím, snad jen to, že v současné době se Sun snaží konzultovat výběr licencí s open source komunitami, Free Software Foundation a dalšími důležitými entitami. Proto je například Java nyní dostupná pod GPL s tzv. Classpath exception. Je pravda, že to dlouho trvalo, než se Java integrovala do Linuxových distribucí, myslím si že hlavní důvod byly jiné priority (které vedly k větším ziskům – Sun je komerční firma, která musí vydělávat) a nakonec bylo také potřeba vyřešit různé právnické otázky. Ne všechen kód, který Java obsahuje pochází od Sunu. Sun se také dlouho obával, že uvedení Javy pod open source by mohlo vést k forkování zdrojových kódů, což by mohlo ohrazit jednu ze základních vlastností Javy, a to že funguje stejně dobře na všech platformách.
Nyní je situace jinačí než před několika lety, kdy Sun s linuxovými komunitami příliš nespolupracoval – Sun například tento rok spolupracoval s Ubuntu komunitou, aby byla Sunovská Java dostupná v Ubuntu. Naše vize je taková, že když se podaří vyřešit licenční otázky s Ubuntu, nebude již složité integrovat Sun Javu do jiných distribucí. Nyní lze Sun Javu stáhnout z Ubuntu Universe. Dříve také byla Java na desktopu pro Sun méně důležitá než na serveru, trh se serverovou Javou byl mnohem zajímavější. To se také dnes mění, Sun znovu začíná investovat do desktopové Javy, pracuje se v současné době na speciální verzi JRE, tzv. Consumer JRE, která pomůže vyřešit různé problémy např. s rychlostí startupu desktopových Java aplikací, jednoduchou distribuci nejnovější verze Javy ke klientům a různé problémy s Java Applety. Zevnitř firmy cítím, že orientace na desktop bude dlouhodobá, a vidím tedy v budounosti možnou synergii mezi Linuxem a Javou pro desktopové aplikace – Java je velmi dobrou volbou když děláte aplikace, které fungují na více operačních systémech.
Co se týká například NetBeans, tak pro verzi 6 jsme se snažili, aby NetBeans vypadaly co nejvíce jako Linuxová GTK aplikace a vylepšili jsme Look and Feel pro Linux. Zda se to povedlo můžete zhodnotit např. zde.
V posledních dvou aktualizacích Javy 6 došlo k různým vylepšením v podpoře Javy na Linuxovém desktopu, takže doporučuji naistalovat uživatelům Linuxu nejnovější aktualizaci.
Ano, také je vylepšená podpora GTK a mnoho užitečných bugfixů, takže aktualizujte!
Záleží o jakou konkurenci se jedná. V oblasti open source vývojových prostředí se většinou lidé rozhodují mezi NetBeans a Eclipse, takže uvedu důvody pro NetBeans vs. Eclipse:
Podrobně různé důvody proč zvolit NetBeans rozebírám včetně živých dem v následujících flashových prezentacích: zde a zde.
Odpovím obecněji - proč používat NetBeans místo libovolného textového editoru. Máte k dispozici spoustu integrovaných nástrojů, jako je debugger, podpora CVS či subversion, doplňování kódu, jednoduchý přístup k dokumentaci, grafický GUI designér pro desktopové, webové či mobilní aplikace, profilování výkonu, apod. „Killer featura“ je, že když máte ve zdrojových kódech chybu, tak vám vývojové prostředí o tom řekne okamžitě (ne až při kompilaci) a v mnoha případech vám pomůže problém okamžitě vyřešit pomocí klávesovké zkratky nebo kliknutím myši. Je to o tom pohodlí, Emacs je určitě dobrý editor (a operační systém :), a lidé se snaží psát různé plug-iny které nabízí podobnou funkčnost jako vývojové prostředí. Textový editor ale zřejmě nikdy nebude tolik rozumět syntaxi programovacího jazyka, aby vám nabídl takové pohodlí jako vývojové prostředí.
Mimochodem, pokud jste zvyklí na klávesové zkratky Emacsu, dají se nastavit v NetBeans pomocí Tools | Options | Keymap. Takže vám s případnou migrací i pomůžeme. A také máme plug–in pro Vim, který vyvinul člen NetBeans komunity.
NetBeans platformu je vhodné použít, pokud vytváříte nějakou větší desktopovou aplikaci a nechcete znovu „vynalézat kolo“. NetBeans platforma obsahuje spoustu API, které můžete použít, a tak nemusíte psát windowing system, správu verzí, modularitu, help systém, správu akcí, různé editory, podporu aktualizací a další vlastnosti. Místo toho použijete NetBeans jako platformu, můžete si to představit jako vývojové prostředí bez featur. Vaší aplikaci pak vytvoříte jako plug–iny do NetBeans, těm můžete jednoduše změnit branding a různé vizuální vlastnosti. Ušetříte si s tím spoustu času potřebný na vývoj a správu vašeho frameworku.
Zrovna dnes jsem si narazil na článek o tom, jak firma Boeing používá NetBeans platformu, který doporučuji přečíst, pokud přemýšlíte, že by se vám platforma mohla hodit.
Pokud použijete NetBeans platformu (či libovolnou podobnou platformu) musíte počítat s tím, že ze začátku budete muset investovat do studia platformy a jednotlivých API. To se ovšem vyplatí, obzvlášť pokud pracujete na dlouhodobém projektu a čeká vás ještě dlouhý vývoj.
Myslím, že NetBeans i Eclipse budou v Linuxové komunitě oblíbené – nemyslím si, že bude jasný vítež. Obě vývojová prostředí mají co nabídnout pro Linuxové vývojáře.
My se také zasazujeme, aby NetBeans byly dostupné v rámci Linuxových distribucí, a snažíme se je na to uzpůsobit (například nyní tvoříme .deb balíčky). Znám více uživatelů Eclipse, kteří si myslí, že výkon Eclipse na Linuxu je o něco horší než na Windows kvůli SWT. V naší uživatelské komunitě je celkem dost uživatelů Linuxu a NetBeans prý běží na Linuxu o trochu rychleji než na Windows, takže je to relativně oblíbené IDE, i přesto, že jsme jej donedávna nedistribuovali v Linuxových distribucích a neposkytovali balíčky specifické pro jednotlivé distribuce. Pokud by se Eclipse nějak výrazně prosadila v rámci Linuxu, určitě z naší strany můžete očekávat protiakci :-).
Já jsem celkem fanda do skriptovacích jazyků. Například PHP jsem během své kariéry používal déle než Javu a líbí se mi jak je takové jednodušší a asi i produktivnější. Na druhou stranu na velkých teamových projektech Java je většinou lepší než skriptovací jazyky, protože se v ní dají lépe navrhovat API, dělat knihovny, apod. Je to otázka statický versus dynamický jazyk. V současné době se učím používat Ruby, které mi příjde v mnoha ohledech geniální. Ale na větší aplikace vyvíjené v teamech mi příjde Java pořád lepší, i když se to nedá generalizovat.
Integraci skriptovacích jazyků s JVM vítám, myslím si, že je to přirozená evoluce. JVM a API Javy jsou podle mě mnohem důležitější než Java jako jazyk, a některé jazyky či frameworky mohou být produktivnější na určité problémy (například Ruby on Rails na webové aplikace). Líbí se mi kombinace Javy na backendu a skriptovacích jazyků na frontendu, případně skriptovací jazyk jako lepidlo pro Javové aplikace.
Na JavaScript se mě raději neptej, mám s ním bohužel příliš mnoho negativních zkušeností z vývoje webových aplikací a problémy s kompatibilitou různých prohlížečů. Vím, že dnes je situace jinačí a specifikace JavaScriptu je lepší, ale jeho používání ve mě vyvolává příliš bolestivé vzpomínky, takže ho nerad používám.
S nápadem přišel myslím Roman „Dagi“ Pichlík, který si stěžoval na svém blogu na aktivitu české javové komunity, v porovnáním s .NET komunitou. On a Jirka Fabián za mnou přišli, jestli bych se nepřipojil a jelikož nechci přijít o žádnou zábavu, tak jsem řekl ano. Už jsem měl zkušenosti s nahráváním podcastů o NetBeans a říkal jsem si, že česky to bude určitě zábavnější než tento druhý podcast, který dělám v angličtině. S Dagim již asi rok organizujeme českou Java User Group, a vůbec se snažíme rozhýbat českou Java komunitu k aktivitě, a podcast který zajímavě a zábavně popovídá o novinkách ze světa Javy v našem jazyce je určitě příjemné zpestření pro mnoho českých Javistů. Ono je to také zábavné, protože já propaguji NetBeans a vůbec Sun a Dagi propaguje Eclipse, Spring a podobné technologie, takže se často dostáváme do středu názorů. No a Filemon do toho samozřejmě také přidává spoustou svých názorů – např. brzy si vyslechneme o jeho zkušenostech z nasazení Ruby on Rails na komerčních projektech.
Témata vybíráme buď podle toho, co nás zajímá, nebo podle odezvy od posluchačů. Můžete nám napsat na czpodcast@gmail.com a my dané téma více či méně fundovaně rozebereme. Jinak CZPodcast naleznete na serveru java.cz pokud máte zájem si nás vyslechnout. V současné době máme s podcastem malý problém: CZPodcast začal být tak oblíbený, že mi přestává stačit limit 400 GB přenosu měsíčně na mém serveru :).
Ian Murdock nastoupil do Sunu, aby pracoval na OpenSolarisu. Sun ho najmul, protože má obrovské zkušenosti s tím, jak vytvořit úspěšnou Linuxovou distribuci a komunitu kolem ní. Solaris byl donedávna closed source, takže nám určitě pomůže s přechodem do plného open source módu.
Ian má nyní mimo jiné na starosti projekt Indiana, jehož cílem je vytvořit novou distribuci OpenSolarisu, která bude jednoduše instalovatelná z jednoho CD a bude dobře fungovat na desktopu. Cílem je také vyřešit packaging OpenSolarisu, aby byl podobný tomu, co znají Linuxáři a vůbec odstranit různé bariéry, kterými v součanosti Solaris v porovnání s Linuxem trpí. Více informací viz: OpenSolaris Project: Indiana a požadavky projektu Indiana.