se blíží.
Začnu trochu odjinud. Jaké počítačové téma vás napadne jako první, když se řekne flejm. I já bych si myslel, že nejvíce se flejmuje o operačních systémech. Ale to jsme všichni na omylu. Vemte si o čem a jak moc se píše a bloguje. Áno áno. To, že se budou lidé předhánět, kdo má ten lepší webový prohlížeč jsem tak nějak čekal. Vždycky se vedly pře o konkrétních aplikacích. Zda je Miranda nejlepší messenger, zda je lepší KDE nebo Gnome, či GTK+ nebo Qt, zda ICQ nebo Jabber a tak podobně. Ale to, jaké hype je okolo webových prohlížečů, je až zarážející.
Původně jsem si myslel, že je to otázkou módy. Vyrojilo se pár celebrit ve špatném slova smyslu, začali opěvovat to své a jako reakce se objevili i odpůrci. Jenže ona móda neupadá. Ba právě naopak, neustále narůstá do obřích rozměrů. Když se na trhu webových prohlížečů začaly přelávat milióny dolarů, pochopil jsem, že mi něco uniklo.
Tímto zahajuji glosu : „Hádají se, jak kdyby šlo o operační systém a ne jen blbou jednoúčelovou aplikaci… moment, ono jde o operační systém?“
V tu chvíli, kdy jsem se nad tím zamyslel, rezavá kolečka uvnitř hlavy se o pár otáček pootočila a já jsem získal pocit. A ten pocit nebyl vůbec dobrý.
Vy všichni, co se zabýváte Linuxem a programováním v C, C++ využívající toolkity apod. … vy všichni děláte zbytečnou práci a nemáte rozum.
Ne, na osočování a vyvolávání flame je ještě příliš brzo. Urážení a dohady nejlépe znějí na konci. Takže zpět ke glose.
Blíží se čas, kdy se obsah vašich počítačů přesune na Internet. A ne jen tak někam. Svá data odevzdáte do rukou těch největších a nejlepších a nejoblíbenějších firem. Budete slavit oproštění se od závislosti na jednom konkrétním OS a jeho dodavateli a vyměníte ji za závislost na jiné konkrétní věci a jejím dodavateli.
Na webu už dnes můžete číst a diskutovat, pracovat s poštou… Ha, dnes? Tohle bylo možné už před mnoha lety, kdy byl web jen web, takže jinak, takhle byste byli na webu málo závislí.
Na webu už dnes můžete psát dokumenty, tvořit tabulky a prezentace, hrát hrát hry, využívat instant messanging, sledovat filmy, poslouchat rádia, muziku…
Již za chvíli budete moci provádět videohovory, hrát v kvalitní 3D grafice atd. vše v operačním webovém prohlížeči.
Zkrátka. Trend je takový, že zapnete počítač, něco, a je úplně jedno co, nabootuje a … spustí se to nejdůležitější, to o co jde, to o čem má nějvětší smysl flamovat, spustí se vaše všechno a to je … internetový prohlížeč … . Co vám na tomto krásném online světě nedovolí on, to si prostě neuděláte.
To ten prohlížeč je váš operační systém. To, na jakých systémech pak ten prohlížeč běží je už irelevantní. To ať si zařídí výrobce počítače.
To o co jde je ten můj, nejlepší, nejrychlejší, nejbezpečnější, nejrozšiřitelnější, nejintuitivnější, podporující nejvíce technologií, nejstabilnější, nejúspornější, vzhledově nejhezčí, nejpřispůsobitelnější a další desítky vlastností … internetový (ne webový, to zní moc omezeně na to, co vše dělá) klient. To on je ta univerzální vrstva, ve které pak běží aplikace a tím plní onu základní funkci operačního systému.
Taak. A hardware a systém? Pchhh třeba něco na firmwaru, to je jedno.
Web web web web web web web, vyslovováno stejnou intonací a zapálením jako pan Denholm opěvoval team. To je to oč tu běží. A musí to být SUPER Web. Web 2.0, Web 3.0, Web 4.0 už budou brýle a mozkové sondy a žít už budeme jen na internetu – v Matrixu. To jsem přehnal ale zpět k té slabé linii co se snažím následovat.
Nejsem nijak příliš stár, ale pamatuji, jak se objevovaly různé počítačové technologie a jak to každého zajímalo. Jásali nad prvním grafickým operačním systémem. Sledovali vývoj desktopu a jeho aplikací… Tak tohle už dneska, pánové, nikoho nezajímá.
Vyšla nová verze Office, nový toolkit, nové distro? Koho to proboha zajímá!
HTML 5 nějaké řeči – Wuaaa, revoluce, tý bláho, čumím. Teď budu moci na webu trávit mnohem více času, budu mít tag video – mohu hned smazat desktopový video přehrávač, grafika se bude vykreslovat rovnou v prohlížeči – hele, doom! To je ta budoucnost! To je to světlo.
Do Linuxu byli zařazany patche zlepšující přerozdělování procesů a celkové zvedající výkon jádra. Pch. Provnával někdo výkon Linuxu a Windows? Jo, nějakej zapšklík, nee, to je nuda.
Nový Firefox má nejrychlejší JavaScript! Ježiš to je bomba! Hned si musím udělat taky benchmark! Ne, to mu nedaruju, svn verze webkitu a … ahaaaa! já mám nejrychlejší JavaScript!
Co jsem tímhle blokem škváru chtěl naznačit? Že dnes není tak důležité, jaký je výkon operačního systému, jako spíš, který prohlížeč má rychlejší Javascript. To se benchmarkuje furt dokola, o tom se mluví. Bezpečnost operačních systémů? Ale kdeže. Ale bezpečnost, množství nalezených chyb, jejich opravda u webových prohlížečů, to je hlavní téma.
Proto ta věta nahoře, o tom, že jste li výborný programátor a umíte optimalizovat a bla bla, jste k ničemu. Můžete vymyslet sebelepší věc a studovat sebevíce a mít sebevětší znalosti a nijak vám to k penězům a slávě nepomůže. Ale udějte webovou aplikaci, která bude kchůl a jste milionář. Hned.
Nemá smysl se učit GTK, Qt, Céčko … Chcete-li si programováním dobře vydělat, tak PHP, Javascript, Flash, Canvas, to je vaše cesta.
Že ne všechny věci jdou pomocí tohoto udělat? To jsem si myslel taky.. dokud jsem neobjevil svůj ksicht snímaný webkamerou v okénku prohlížeče a neuviděl křivku svého hlasu, sejmutý přes mikrofon tamtéž. K doražení mě pak stačili předváděčky canvasu a oznámení hry Quake jako plugin do webového prohlížeče.
Ještě jsem se sbíral, když přišlo hrome, tedy chrome. Ten mojí vizi o operačních systémech budoucnosti dodělal tím, že už sám má správce procesů, ukazatele vytížení paměti apod. Pusťte jej ve fullscreenu a máte OS budoucnosti.
Koukal jsem tedy na hrome a má vize fullwebové budoucnosti se uzavírala.
Tak tedy zopakuji. Jestli jste se zatím nic nenaučili a chtěli byste se počítači a tvoření trochu nebo více živit, zapomeňte na nějaké 3D modelování, na nějakou Javu, C, Qt. S tím se nikde neuplatníte.
Naučte se dělat interaktivní web. Místo multiplatformních aplikací dělejte multiprohlížečové (to je jediné, na čem opravdu záleží) aplikace. Naučte se pořádně CSS, to se hodí více než nějaký POV-Ray. Naučte se pořádně PHP, Python (a jeho webové frameworky), Ruby a nebo .net ( a asp.net).
Tak tedy, neztrácejte čas čtením hloupých knih. Sledujte blogy a články o Webu 2.0, HTML 5 a o tom, který prohlížeč je o chloupek rychlejší v tom a tom (a hned na něj přejděte! musíte jít s dobou) začněte tvořit první flashové hello world.
Klíčový business s vaším CMS čeká.
Ano v těch ostatních jazycích byste mohli napsat dobrou databázi, desktopové aplikace.. jenže tam vás už někdo dávno předběhl. A svým zákazníkům musíte svůj software nainstalovat (což oni nezvládnou, takže potřebujte smlouvu s výrobcem počítačů). Navíc na něm ani nevyděláte. Ale udělejte to webově, dejte tomu propagaci, vložte tam reklamy a už se penízky sypou.
Mimochodem. Hádejte v čem jsem napsal tento zápisek a hádejte, v čem jej vy čtete? Ano, odpověděli jste si správně. Ne v Linuxu, ale ve Firefoxu.
A jestli vám jednou vypadne Internet, uhryžete se nudou.
PS.: Ono to má své výhody že? Na filmy budete koukat rovnou online. Kvalitní aplikace budou pouze webové a jejich používání si budete muset předplatit = více peněž do pěněženky výrobce a vymizející warez. Muziku budete kupovat online a online budete mít taky svoji sbírku = opět více pěněz a žádné nelegálky. To vše budete moci obsluhovat odkudkoli, včetně mobilu a PDA…
Bude existovat skupinka lidí, která svá data budou před vševidoucím GOOGLE okem chránit. Ti budou mít počítač jistě plný dětského porna a jiných vyvrheldata. Na ty bude potřeba dát si pozor.
Jsem paranoidní? Já doufám že ano, ale bojím se, že ne.
Tak hrozné to zas nebude. Ačkoliv existují instant messangery, kancelářské balíky atp., pořád je to mnohem komfortnější řešit ne přes internet, ale hezky přes nějakou desktopovou aplikaci. Koneckonců dnes není plná internetová náhrada ani za mailklienta, natožpak řešit 3d hry. Stavěl bych se k tomu s rezervou. Ano, jsou tu a rozmáhají se, ale pořád jim jaksi něco chybí.
Vlastní tvorba :)
Jednoho letního večera na návsi pod starou lípou,
technici Hujer a Kučera se ve Wifi rýpou,
to Vám bylo pozdvižení, to Vám byla neděle,
všichni byli rozrušení, jen co vstali z postele.
Byl to ten slavný den, kdy k nám byl zaveden bezdrátový net,
Byl to ten slavný den, kdy k nám byl zaveden bezdrátový net,
móc rychlý, móc rychlý, silný giga-internet,
móc rychlý, móc rychlý, zkrátka giga-internet.
Na stránkách obecních v tagu Há-jedna je psáno:
že od toho dne chodíme spát až ráno.
Žijeme si jako v Praze, jsme online,
serfujeme, všem je blaze, noci nespíme.
Byl to ten slavný den, kdy k nám byl zaveden bezdrátový net,
Byl to ten slavný den, kdy k nám byl zaveden bezdrátový net,
móc rychlý, móc rychlý, silný giga-internet,
móc rychlý, móc rychlý, zkrátka giga-internet.
4: Právě že to tak není. Rozhlížím se okolo sebe. Lidi se snažili s poštou dělat už přes hompolácká rozhraní Centrum a Seznam. Pak stačila reklama a když uviděli gmail, připadají si jak v ráji (což je pochopitelné).
K těm 3D hrám. Plno flashovek už bylo. Pak přišli prezentace Canvasu a první hříčky, kdy mě vyděsilo, že to přesně reaguje na moji klávesnici, niž bych onen objekt nějak aktivoval. Už v tom paranoidně vidím bezpečnostní problém v budoucnu.
A nakonec
http://bonusweb.idnes.cz/zurnal/pc/quake-live-debut-trailer-085-/clanek.A080721_110400_bw-zurnal-pc_osk.idn
Quake 3 jako plugin do prohlížeče (to je konec).
Veškerý počítačový trh (a sním i pracovní příležitosti) se až na vyjímky přesune na web. Na desktopu už zůstane jen opensource (ve stylu nadšenci zadarmo) to vidím.
9: Díky za upozornění, opraveno.
Aplikace se sami psát nebudou, ale pudou psán pomocí scriptovacích jazyků (já můžu držet tlamu, sám scriptuju i na desktop). To pravé programování zcela vymizí, imho.
Aplikace budou jen webové s reklamou (výdělečnost a nebude nutné je instalovat - větší rozšiřitelnost) a jejich offline verze nebude ani možná. Maximálně tak, že vám na desktopu poběží malý webový server a v něm ona aplikace bude.
v com je napisany Quake Live? Stavim sa ze urcite nie v PHP alebo RoR alebo nieco take. Prezentacna logika sa sice presunie na web, ale stale niekto musi napisat engine v C++.
okrem toho, to o com pises su desktopove hracky. Pochybujem ale ze sa v nasledujucich rokoch budu pisat aplikacie pre priemysel, medicinu, energetiku a pod. na webe (teraz nemyslim nejake informacne systemy).
vela veci sa bude robit cez web, ale nemam strach ze by sa C++ programator v buducnosti neuzivil.
12: To jo. Ale dovedu si představitm jak jednou bude místo pluginu Quake vyloženě plugin engine, nebo rovnou 3D ovladač a tramtaradá.
Medicína apod. To jsou specializované věci. Spíš jsem měl namysli náš domácí desktop. Mixování a práci se zvukem si ve webovém prohlížeči také nedovedu představit. Ale to vše bude odsunuto na okraj zájmu pod pojmem specializace (s specializovat se bude i hardware pak).
My například v práci máme software na zakázku, co má normálního klienta. Ale když se zamyslím - stejnak se většina práce (databáze) dělá na serveru... stačí udělat webové rozhraní a mám z toho webovku jak vyšitou. Pak stačí udělat službu veřejnou (náš systém vám bude spravoat firemní agendu, bude zálohovaný apod.) a můžu začít moderně podnikat.
Já o budoucnost C++ prgramátora strach tedy mám. Bude stále potřeba k základním věcem, jako je databáze, samotný prohlížeč apod. Ale to bude pár projektů držený v rukou velkých firem (už je dnes vlastně). Jako programátor na volné voze budete potřebovat dělat cílové (a dle vize mé temné budoucnosti - Webové) aplikace.
To, co hrdě nazýváme "Web 2.0" je otřesný bastl, složený z nesouvisejících technologií, původně určených k naprosto jinému účelu. Na počítačovém poli dnes zažíváme závody v zatloukání šroubů štípacími kleštěmi. Jde o naprosté opuštění programátorských hodnot, jakými je efektivita programování, čistota kódu, uživatelská přívětivost. Vše se podřizuje technologii, jejím možnostem a omezením. Při programování na webu strávíte vy a počítač 90% času řešením idiotských problémů, které by vůbec nevznikly, kdyby se technologie nevytvářely ve stylu "Jak pejsek a kočička vařili dort".
Není se pak co divit, že nějaký znak je po cestě poškozen nebo nedostatečně ochráněn před zneužitím, že obrovskou práci je nutné věnovat generování řetězců, které jsou v následujícím kroku zase složitě analyzovány.
HTTP: Protokol pro přenost hypertextu. Nenese žádné kontextové informace, nemá žádnou podporu pro přenos iniciovaný serverem.
HTML: Jazyk pro tvorbu hypertextových dokumentů, původně zcela bez podpory obrázků. Vyhrazené znaky jsou &
CSS: Jazyk pro popis stylu dokumentu. Vyhrazené znaky =;{} Dosti neuměle se váže do HTML.
Cookies: Textové balíky, uměle přidané do HTTP, aby se dal ukládat kontext alespoň nějak.
JavaScript: Obecný objektový skriptovací jazyk. Vyhrazené znaky "'\ a dle kontextu pár dalších, třeba %. Využívá uměle přidané objektové vlastnosti CSS a HTML.
Flash: Proprietární technologie na grafické vychytávky. S ostatními technologiemi zde uvedenými ji prakticky nelze provázat.
SQL: Jazyk pro komunikaci uživatele s databázemi. Vyhrazené znaky '\
Java/PHP/Python/Ruby: Poměrně obecné programovací jazyky.
Tie naozaj velke informacne systemy v mojom okoli sa robia vsetky v Jave. Aj starsie doteraz AS400 aplikacie sa pomaly presuvaju aspon ciastocne do Javy. V podstate vsetko okrem DB bezi v Jave.
Takze neviem co vsetci chcete programovat v tom C/C++ ale ak sa buducnost podla clanku naplni tak to bude naozaj iba Browser, OS, Drivre a DB. A skoro som zabudol, jadro Java runtime ;-).
[16] Komplexitu zakryje jen uživateli. Pro počítač se vše ještě více zkomplikuje: Znamená to průchod další vrstvou, která data úplně překope, aby byly použitelné pro další vrstvu, a strojovým časem se mrhá ještě více.
Třeba kombinace Plone + Zope + Python + mySQL + JavaScript + SOAP + HTML + HTTP + CSS + cookies je pro výkon aplikace přímo smrtící. A nedej Bůh, když něco nefunguje. To je pak laděníčko!
Kombinace Ruby + Ruby on Rails + JavaScript + HTML + HTTP + CSS, dnes zkráceně nazývané AJAX, na tom není o moc lépe.
Přepsání webové aplikace do nativní aplikace v čistém C s použitím nativního databázového rozhraní a nativní datové komunikace (bez převodu vzhledu aplikace do formátu HTML, bez textových referencí mezi frameworky, bez dotazů převáděných do jazyka SQL a bez přenosů dat převáděných do XML) lze bez problémů získat nárůst výkonu aplikace i o dva řády. Na PDA pak funguje svižněji, než běžela srovnatelná Web 2.0 aplikace na posledním dvoujádrovém procesoru.
Příklad: Srovnejte maps.google.com na silném desktopovém počítači a výkon tangogps na mobilním telefonu. Co bude svižnější?
som zvedavy, v com podla vas bude napisany operacny system serverov, poskytujucich popisane sluzby a celkovy backend sluzieb samotnych, ako pobezi obsluha napr. takych routerov, ako bude implementovana nejaka bts mobilnej siete, ci ine sluzby - v javascripte, interpretovanym jadrom prehliadaca, ani v jave zrejme nie a o osude avizovanych hovadin "OS v .net" tiez nemam pochybnosti
souhlas, az na to za autor pozapomel v clanku na nizsi urovne. Operacni systemy, drivery, nejen v PC, ale i ridicich jednotkach napr. aut jsou psany v C/C++ nekdy dokonce i v asmbleru. Aplikace s GUI mohou byt celkem bez problemu presunuty na princip terminal-server. Ale nelze opomenout ze webovy problizec je pouze vrchol ledovce.
Nejde jenom o desktopove aplikace. SW se musi psat i pro pracky, lednicky, auta, mobilni telefony, prehravace, televize, prumyslova zarizeni, jaderne elektrarny, a mohl bych pokracovat...
Nejvic prodavane vypocetni jednotky jsou dnes stale mikrokontrolery a ne nejake desktopove n-jadrove obludy. Tezko budete v Jave programovat obsluhu preruseni nejakeho kontroleru. Stejne tak si tezko predstavim OS pro svuj hudebni prehravac, programovany v PHP.
Nicmene, trend, ktery autor v clanku popisuje, je zrejmy a pri cteni jsem souhlasne prikyvoval hlavou.
Naozaj zaujimave komentare si tu moze clovek precitat,hlavne tie navrhujuce pisat aplikacie v C namiesto sucasnych Java a .Net technologii...Musela by byt naozaj velka sranda pisat velky ERP informacny system iba v C :))) Sice by bol hotovy v roku 2050 ale bol by pekelne rychly :)))
[28]
To jste mne vůbec nepochopil. Nevadí mi vyšší programovací jazyky. Vadí mi, že jediná Web 2.0 aplikace používá najednou třeba 10 různých programovacích jazyků na 10 různých mezivrstev, a že ty jazyky nebyly navrženy k tomu, aby spolupracovaly, a že jejich původní účel se webu ani zdaleka nepodobá.
Kdyby Java server poslal pomocí rozumného protokolu datový objekt k zobrazení na straně klienta, neměl bych námitek. Jenže takové aplikace jsou dnes "out", protože nenesou "cool" nálepku "Web 2.0".
Rozumný design: Objekt se změnil, pošli klientovi oznámení o změně s žádostí o překreslení. Ta se přes jednoduchou dědičnost dostane ke všem objektům, kterých se týká.
Web 2.0 design: Java server pošle úvodní HTML data a předem nahraje JavaScript program. Ten neustále udržuje kanál směrem k serveru, který se bez dat pravidelně rozpadá (HTTP protokol předpokládá, že jde o zamrznutí přenosu hypertextu). Tato data opatří unikátním ID (jinak nelze rozlišit kontext) a ochrannými prvky. ID také ten uloží do cookie (jinak nelze obnovit kontext po restartu klienta). Pokud se mezi udržovacím balastem objevil signál o změně, klientský JavaScript vygeneruje na základě instrukcí serveru v Javě kus HTML kódu, pomocí jmenných referencí jej odešle na cílové místo, a vygeneruje CSS, které upraví vzhled.
Prave kvoli takymto veciam prisiel Microsoft so Silverlightom.Pouzitelne to sice je, ale na to, aby sa naplnili vase predstavy by musel vzniknut podobny format ako Silverlight alebo Flex s podobnou urovnou standardizacie a vseobecneho prijatia ako ma dnes HTML,co si osobne neviem dost dobre predstavit.Co sa tyka dalsich vrstiev,tak skratka XML a webservice su jednoducho nutnost.Rovnako je nutnost pisat viacvrstvove aplikacie...Napisat skalovatelnu aplikaciu bez toho,aby vam ORM vrstva vystup z databazy prekonvertovala do domenovych objektov,tieto zas aplikacna vrstva do DTO a potom vrstva web servicov tieto DTO do xml a potom tieto xml zas provider v prezentacnej vrstve na web servery do DTO v prezentacnej vrstve a potom tieto do html je dost tazko nemozne.Ano pomalsie to urcite bude,ale nie o moc,kedze mozte mat cashovanie na webserveri,cashovanie na aplikacnom servery,cashovanie na ORM vrstve atd...
no, válka prohlížečů? co to je? nevím, ale zdá se mi jako-by se bulvár přesouval i na internet. na stránkách o počítačích a IT se píše o nějaké válce prohlížečů, ale já používám stále ten stejný a nemám potřebu zkoušet nějaký nový. v diskusích se pořád vymezují skupiny, něco versus něco. je to nutné? vždyť počítač je mrtvá chytřejší televize. tak jaképak citové vazby k operačnímu systému nebo webovému prohlížečí. co je nej, nej nej? není to jedno. jasně, novináři se tím živí, ale proč se lidé nechali tak zblbnout? asi nemají žádné životní starosti, tak si nahrazují adrenalin kravinami kolem PC. lidstvo bylo před IT bude i po něm. mimochodem, počítač je osmá nejzbytečnější věc v dějinách lidstva. lidé se asi pořád musí o něco hádat. takže asi jim není pomoci. dobře vám tak.