Při pohledu do historie vývoje současného mainstreamu výpočetní techniky a vývojářských postupů se nelze zbavit dojmu, že ve většině okamžiků, kdy docházelo k nějakému rozhodnutí, jehož důsledky dodnes pociťujeme, byla z možných variant vybrána ta principielně nejhorší. Ostatně posuďte sami.
Pokud se pohybujete na internetu, váš počítač bude s největší pravděpodobností postaven na architektuře Intel x86, jeho operační systém budou Windows, případně Linux. Informace si zobrazujete s pomocí HTML prohlížeče, který je získává ze serverů přes protokol HTTP. Webové stránky budou pravděpodobně generovány přes systém, který je nejspíše napsán v jazyce PHP, Java, či v jazyce rodiny .NET.
Takový je obraz výrazné majority informační techniky na celém světě. Cesta, která k tomuto stavu vedla, je dlouhá přinejmenším jednu polovinu století a obsahovala velké množství křižovatek, na nichž bylo možné směřovat vývoj IT zcela jinam. Z pohledu vrstevného modelu SW systému (technologie, HW, operační systém, virtuální stroj, komunikační model, aplikace), většinou každá křižovatka zafixovala jednu vrstvu a k dalšímu rozhodování docházelo ve vrstvách vyšších.
Možná první křižovatka se týkala výběru matematického základu výpočetních strojů. Dnes si každý při slově digitální vybaví dvojkovou soustavu – ony slavné jedničky a nuly, které jsou duší každého počítače. Málokdo si uvědomí, že naši elektroničtí miláčci by klidně mohli pracovat s jakoukoli jinou číselnou soustavou. Například bylo dokázáno, že použití trojkové soustavy by vedlo k optimálnímu poměru mezi zpracovávanou informací a počtem aktivních prvků (tranzistorů) potřebných pro její uložení a zpracování. Jak by se nám něco takového hodilo dnes, kdy výrobci procesorů naráží na fyzikální limity…
Dalším sporným momentem je i zvolení von Neumanovské architektury počítače jako dominantní. Tato architektura totiž nerozlišuje instrukční a datový tok a jako taková je velice vhodná k vytváření virů a podobného malwaru.
Za první porážku zdravého rozumu však považuji vítězství platformy x86. V době (rok 1976), kdy se rádoby šestnáctibitový procesor Intel 8086 v křečích prokousával přes hranici 64 KB adresního prostoru a dotáhl to na celý 1 MB, již existovaly návrhy plně 32bitových procesorů RISCového charakteru, schopné adresovat 4 GB paměti. Jako příklad jmenujme alespoň procesor Motorola 68000, který byl navržen v roce 1976 a první prototyp vytvořen roku 1979.
A jelikož neštěstí nechodí nikdy samo, vzniká pro platformu Intel pod taktovkou garážového programátora Billa Gatese nový „operační systém“ DOS (je ironií osudu, že dnes se touto zkratkou označuje útok odepřením služby – Denial of Service, který charakter zmiňovaného operačního systému celkem dobře vystihuje). A to se prosím děje v době, kdy Unix je ověřená a fungující záležitost a víceprocesové a/nebo grafické uživatelské rozhraní také není nic neznámého.
Jen pro srovnání – MS DOS vzniká roku 1980, první GUI (Xerox PARC) je uvedeno v roce 1970 a počítač Comodore Amiga s vlastním OS (včetně grafikého rozhraní a možnosti spouštět více programů najednou) byl uveden na trh v roce 1982.
Důsledky symbiózy mizerného procesoru a parodie na operační systém charakterizované i okřídleným rčením „640 KB je dost pro každého“, které by se namísto klekánice mělo používat ke strašení malých programátorů, si neseme dodnes. Je to přibližně 10 let, co Windows přestaly být omalovánkami DOSu a zátěže zpětné kompatibility se zbavujeme teprve nyní s příchodem 64bitových architektur a příslušných variant OS.
Ale abychom nehaněli pouze Windows, tolik opěvovaný OS Linux také není žádný zázrak – operační systém, jehož vývoj začal v roce 1991, je postaven po vzoru operačního systému UNIX (šedesátá léta), jehož architektura byla v letech jeho vzniku brilantní, avšak pro devadesátá léta přeci jen poněkud zastaralá. Vzpomeňme jen, jak dlouho trvalo do Linuxu přidat podporu pro vlákna (thready), které byly již v devadesátých létech samozřejmostí.
Stejně jako DOS, Linux vzniká v době, kdy jsou známy mnohem pokročilejší architektury, založené například na mikrokernelu (GNU Hurd) a/nebo objektovém přístupu (NeXTStep). Vývoj „další generace“ operačního systému by tedy nemusel být skokem do neznáma, ale mohl stavět na modernějších a prověřených postupech.
Ponechme stranou programování v assembleru tak těsně spjatému s architekturou procesoru a věnujme pozornost jazykům s alespoň nějakou mírou abstrakce. Přeskočíme jazyky jako Fortran (1957), LISP (1958), COBOL (1959) nebo Algol (1968), protože přetrvaly pouze v oblasti specializovaných systémů a běžný programátor se s nimi již jen těžko setká. První jazyk, který má dodnes široké použití, je jazyk C (1973). Spolu s ostatními jazyky své doby poskytoval oproti assembleru nevídanou míru abstrakce, ale pro soudobého programátora je již beznadějně zastaralý a neproduktivní. Jeho použití se omezuje na low level programování, které se týká jader operačních systémů, ovladačů, embedded mikroprocesorů a podobně.
Nicméně již v době jazyka C, který je imperativní, byla zkoumána odlišná paradigmata, jako funkcionální programování (LISP), logické programování (Prolog 1972) nebo objektové (Simula 1967, Smalltalk 1972).
Dalo by se tedy očekávat, že nové programovací jazyky budou těžit z nových paradigmat a poskytovat uživateli vyšší abstrakci a vyšší svobodu ve volbě způsobu programování vzhledem k řešenému problému. V rámci tohoto trendu bylo vytvořeno mnoho jazyků, z nichž je asi nejznámější C++ (vyvinut 1983 a standardizován 1998).
Ke zlomu dochází v okamžiku uvedení jazyka Java (1994). Přestože Java jako platforma přináší několik nových kvalit jako virtuální stroj, z hlediska jazyka jako takového jde o propad minimálně o 15 let zpět. Pod na první pohled hezkou záminkou – snadný přechod programátorů na nový jazyk – dochází k vykleštění jazyka C++. Už při druhém pohledu zjistíme, že tato argumentace neobstojí – pro každého programátora hodného toho jména je syntaxe jazyka to nejméně důležité a rozhodně ji nelze brát jako rukojmí proti vyjadřovacím schopnostem jazyka. A tak jsme se anotací a typových parametrů (známých též jako generika nebo, v C++, šablony) dočkali až v roce 2004. Na ostatní běžné vlastnosti jako uzávěry (známé již z LISPu), aspektovou orientaci nebo dokonce logické programování si ještě budeme muset počkat.
To samé platí pro platformu .NET a její rodinu jazyků (např. C#) - Microsoft se sice z některých nedostatků Javy poučil, zejména v oblasti RMI, ale žádné kvalitativně nové prvky, kromě anotací, do jazyka nevnesl.
Podobný kastrační postup jako u Javy byl použit i pro jazyky Ruby nebo Python, kde originálem nebylo C++ ale Smalltalk. A zatímco Python alespoň odstranil některé nedostatky Smalltalku a jeho cílení bylo jiné, jazyk Ruby z přísně logického pohledu nemá právo na existenci, protože oproti Pythonu kromě zmatené syntaxe nepřináší nového nic.
Techniku ořezávání existujících řešení a jejich následnou marketingovou glorifikaci můžeme vysledovat i u datového „jazyka“ XML. Přímo W3C konsorcium přiznává, že XML je zjednodušenou verzí jazyka SGML (Standard Generalized Markup Language), který vznikl v roce 1960. Na tom by nebylo nic až tak špatného, protože SGML je skutečně až příliš univerzální a jeho plné zvládnutí vyžaduje specifickou psychickou poruchu. XML má jistě nezastupitelnou roli pro značkování textů a jeho návazné zpracování, které může vyústit až do sémantického webu. Otázkou však zůstává, proč bylo nutné XML prohlásit za nástroj pro vyjádření a definici syntaxe plně strukturovaných dat, když stejnou funkci již zastávalo ASN.1 (Zkratka pro Abstract Syntax Notation One, ISO standard od roku 1984) a jeho případné nedostatky by jistě šlo odstranit snáze než vymýšlet nový standard. Vyjadřovací schopnosti jsou totiž stejné a ASN.1 je dokonce univerzálnější než XML – ASN.1 totiž povoluje libovolnou reprezentaci struktury. Díky tomu může být obsah vyjádřen jak v binární podobně tak i textové. Pro zajímavost – ASN.1 XER je varianta kódování dat s pomocí XML.
XML je však čistě textově orientovaný formát, což vede někdy až k několikanásobnému prodloužení datových souborů nemluvě o jejich složitém zpracování při načítání. Argument lidské čitelnosti zpochybní každý, kdo někdy musel studovat třeba SOAP zprávy. Bez patřičných nástrojů to prostě není v lidských silách, respektive je to srovnatelné se čtením binárních dat s rozumným hex zobrazovačem.
S XML se pojí ještě další bizarnost – XML databáze. Tyto databáze jsou implementovány v zásadě dvojím způsobem. Buď se jedná o klasickou relační databázi, pro kterou je ovšem ukládání stromových dat nepřirozené a zbytečně zatěžující, nebo jde o nativní databázi využívající hierarchický databázový model, který byl populární v sedmdesátých letech a poté byl pro nedostatek flexibility opuštěn ve prospěch relačních databází.
Zatímco předchozí text se držel obecné roviny, v této části se zaměřím konkrétně na, v dnešní době nejznámější, distribuci výpočtu – web a s ním související technologie.
Nezaškodí zavzpomínat, k čemu byl vlastně World Wide Web, tedy svatá trojice HTML, HTTP a univerzálního identifikátoru URI určen. V devadesátých letech byla tato trojice vytvořena jako nástroj k publikaci informací, především vědeckých prací a jejich vzájemným odkazováním. Tedy k převážně jednosměrnému toku informací s minimální interaktivitou. Tok informací byl bezestavový, aby bylo možné obsah stránek ukládat do vyrovnávacích pamětí a šetřit tak kapacitu sítě. Součástí WWW konceptu bylo i sémantické oddělení obsahu od prezentace.
Od té doby je koncept WWW více či méně nadužíván či spíše zneužíván. Jako první přišla záměna URI za URL a obsah tedy není identifikován, ale je pouze specifikováno jeho umístění.
Pak přišel požadavek na graficky náročné, na pixel přesné prezentace. Zlé jazyky tvrdí, že hlavně ze strany porno průmyslu. To bylo v přímém rozporu s původním záměrem prezentační nezávislosti. Tento problém však byl, byť ne zrovna optimálně, vyřešen uvedením kaskádních stylů.
Poslední kapkou ovšem byl požadavek na interaktivitu a s ním související webová rozhraní komplexních systémů – takzvaní tencí klienti.
Funkce tenkého klienta je v přímém rozporu se všemi stavebními kameny WWW. Komunikace je stavová, přenášená data silně heterogenní a koncept URI je zcela pohřben, protože data zobrazená uživateli již nadále nejsou funkcí URI, ale identity uživatele a vnitřního stavu aplikace. Tento rozpor nebyl do dneška spolehlivě vyřešen.
Navíc je zobrazovací model HTML, XHTML, CSS zcela nevhodný pro vytváření uživatelských rozhraní. HTTP protokol je pro robustní stavovou komunikaci nepoužitelný. I když byly přidány cookies, bylo to spíše ke škodě než k užitku. Cookie je totiž vázaná na identitu uživatele, nikoliv na komponentu uživatelského rozhraní což je spolu s „Back“ tlačítkem prohlížeče smrtící kombinace, chceme-li vytvářet rozhraní opravdu robustně.
Situace kolem tenkých klientů připomíná situaci, kdy majitel pozemku zjistí, že po něm potřebuje jezdit autem a místo stavby cesty investuje do stále složitějšího a dražšího terénního vozu schopného jezdit po stále horším terénu.
Roli terénního vozu hrají technologie jako AJAX nebo XUL, které ač samy o sobě nejsou špatné, nejsou nic jiného než resuscitace mrtvoly.
Koncepčně lepší alternativy jako Flash, Java aplety nebo Curl jsou zcela v duchu antologie nejhorších řešení odsouvány do pozadí.
Ale nikdy není tak zle, aby nemohlo být hůř – na scéně se objevují webové služby. Ve své funkci jsou podmnožinou toho, co již od roku 1997 nabízel standard CORBA. Ve všech ostatních aspektech jsou mnohem méně kvalitní. Původní důvod vzniku webových služeb – zjednodušení existujících řešení – totiž naráží na skutečnost, že spolehlivý distribuovaný výpočet je složitý a tento fakt se nedá obejít. A tak se u webových služeb ustupuje ať už ve spolehlivosti nebo v univerzalitě, popřípadě vznikají nové a nové specifikace, které zcela podkopávají původní záměr jednoduchosti.
Je až zarážející jak často se prosazuje technologie, která sama o sobě pouze nahrazuje technologii řádově lepší, a která využívá zcela nevyhovujících prostředků (XML, HTTP,…), ale zato má v názvu spoustu X.
Z pohledu vědy nebo alespoň logiky není současný stav informačních technologií pochopitelný. Ke každé v současnosti dominující technologii vedla cesta, kdy byla záměrně ignorována lepší alternativa.
Naopak z pohledu obchodního je to pochopitelné. Vítězí řešení, které je nejlevnější a má lepší marketing. A nejlevnější je obvykle v rozporu s nejkvalitnější. A jakmile jednou zvítězí, je třeba ho vytěžit až na doraz, nebo lépe až za doraz. Za dobu těžení se na dané řešení nabalí spousta dalších investic a ukáže se, že dramatická změna je dražší a výrazně rizikovější než postupný vývoj a vylepšování. Navíc, co má úspěch, se začne rozrůstat bez ohledu na faktickou kvalitu a začne ovlivňovat další produkty a cyklus se uzavírá. Celý proces až podezřele připomíná přírodní evoluci.
Evoluce má ovšem jednu nevýhodu, nehledá optimální řešení, ale pouze lokální extrém – řešení, které je vhodné v rámci daného ekosystému a v daný okamžik. Nevítězí tedy ten nejlepší, ale ten momentálně nejsilnější. Díky tomu je možné, že teoretické optimum může být nenávratně ztraceno, popřípadě jeho dosažení odloženo do doby, než se ekosystém dramaticky změní.
Takže ti, kdož doufají v technologický ráj, by měli zapomenout na to co je, a mohou pouze doufat v dramatické technologické změny, které do IT ekosystému vnesou „kvantový skok“ a roztočí kolotoč nejhorších řešení znovu, ale z výrazně lepší výchozí pozice. Tímto skokem však musí být něco alespoň tak významného jako příchod kvantových počítačů.
Poznámka: Tento článek obsahuje osobní názory autora, které jsou mnohdy podloženy pouze pocitem, či nevalnou zkušeností, není tedy vhodné ho pokládat za stavební kámen jakékoliv seriózní výzkumné práce.
Autor: Štěpán Mík
Autor pracuje jako vedoucí oddělení výzkumu a vývoje společnosti Et netera.
Poznámka redakce
Máte vlastní názor na danou oblast nebo považujete za zásadní další omyly IT odvětví? Přispějte do diskuse. Přihlásit se můžete i pomocí jména a hesla z diskusí na Živě.cz.
pridam trosku do mlyna...
na 90% suhlasim s autorom a pridam par dalsich veci dost blbo zvolenych:
PCI vs Microchannel, USB vs Firewire, AGP, ATA vs SCSI, SATA vs Fibrechannel
říká vám něco cena? 146
říká vám něco cena? 146 GB SCSI Seagate stojí od 6 600 po 14 000 Kč, zatímco SATA 750 GB stojí asi 7000 Kč. Ano, SCSI mají nějaké výhody, ale oproti SATA nejsou pro domácí použití až tak výhodné. USB je univerzální rozhraní, zatímco FW je zatížené patenty - možná i proto zmírá na úbytě. Obecně, spousta těch hrozných řešení byla vybrána proto, že majitelé patentů těch lepších řešení byli nenažraní.
ja na sudokopytnika nechtel ani reagovat
protoze smysluplnost argumentace zastancu teorie nejhorsich reseni je videt na prvni pohled.
S tema "vyhodama" a patenty atd. mas pravdu.
Akorat s tou cenou SATA/SCSI je to trochu jinak - proste umoznuji rozdelit trh na ten podojitelny vic (firmy) a ten podojitelny mene (soukromnici).
Diky tomu mame tak levny disky, protoze jinak by se cena ustavila nekde uprostred.
To je holt to jejich "horsi" reseni - aneb proc pouzivat cestou do prace fabii, kdyz ferrari je mnohem lepsi... a ze je 10x drazsi a udela stejnou praci? Ma byt? Hlavne je to dukaz, ze se vzdy prosazuji "horsi" reseni...
Ono holt ne vsichni jsou ochotni platit premrsteny castky za pseudo-dokonaly reseni.
A ne vsichni zaplati 10x vic za pocitac, aby rozdil poznali akorat v 3DMarku (aneb muj PC s 1055 fps strci tech tvych blbych 510 fps do kapcy).
ono
Ono to není jenom o dojení, proč se asi neprodávají větší SCSI než 300 GB a SATA už je na 1 TB? Asi to nebude jenom kvůli penězům.
Příšerná mazanina
Tento článek je jednou z nejhorších mazanin, které jsem v poslední době četl. Rozhodně silně nedoporučuji komukoliv s tohoto článku jakkoliv vycházet. Nicméně se v tom množství nesmyslů a polopravd najdou i střípky pravdy - např. dnešní zneužívání XML jako databáze je opravdu hrůznost.
Omyly v omylech :-)
Autor píše fundovaně, ale zkusím poskytnout trochu veselejší pohled:
ad dvojková soustava: Z hlediska přenosu informace je optimální. Zkoušela se i trojková, ale nebylo to ono :-)
ad Von Neumann: Athlon i Core jsou architektury Non-von (uvnitř)
ad x86: x86 vyhrál díky ceně a schopnosti dodat množství procesorů.
Jinak jsou tady s námi: MIPS, Atmel, 8051, IBM Cell, vektorové/Stream procesory (Ati/Nvidia), ARM, FPU z Alphy je v Athlonech, co spolykal Intel netuším. Doma mám PC s +-1GFLOPS, 1GB RAM, 100+GB HDD za 8.000 Kč (cena z 2005). Spotřeba +-100W. Není to špatný vývoj.
ad NextStep: má jméno OS/X :-)
ad Programování: Smalltalk je tu stále s námi (Squeak). LISP je tu také (AutoLisp). Mimo C++ máme i Objective C.
Simula (Cimula) pro cokoli kromě simulací, těžko použitelná.
Asi navždy zůstane programování rozděleno na Low-Level (Assembler, C), GUI (Objective C, C++, C#, Java (snad)), Databáze (dBase, PL/SQL), skripty (Python, shell, Monad ...) a programátor bude vždy volit optimální nástroj. Síla jazyků nespočívá jen v dokonalosti, ale i v množství knihoven, velikosti komunity.
XML má výhodu v čitelnosti aspoň pro programy/programátory. Byly doby, kdy se formáty/definice souborů tajily. ;-)
S tou dvojkovou soustavou nesouhlasím
Článek je dobrý, ale dvojkovou soustavu bych nehanil. Bez ohledu na to, zda bychom dneska lépe využili nějakou jinou, patří dvojková soustava naopak k tomu nejlepšímu, co nás mohlo potkat. Její nasazení umožnilo geniálně elegantním způsobem překonat technologické limity své doby. Právě její dvoustavovost se ukázala jako klíčová: elektromagnetické relé je buď sepnuté nebo nesepnuté - nezná žádný třetí stav. Podobně by se jen těžku uchytily děrné štítky nebo pásky, kdybychom museli identifikovat více než dva stavy. Stejně si konstruktéři mohli v historii mnohokrát ušetřit práci, právě díky dvojkové soustavě. Ne že by to bez ní nešlo, jen by to bylo technicky náročnější.
Profesionalita ?
Connect si říká časopis pro profesionalály - jak proboha může vytisknout tento článek?
Mám to štěstí, že s počítači pracuji od roku 1968, ale proti některým názorům v článku stačí jen zdravý rozum nebo si někde něco přečíst.
1) Dvojková soustava
Není potřeba zacházet příliš hluboko do fyziky, aby si každý uvědomil, že rozpoznávání multistavové logiky je realizačně mnohem složitější. (Je jedno hezké hledisko - o vícestavové logice se psalo tolikrát, že kdyby k něčemu vedla, už dávno ji používáme)
2)von Neumanovská architektura
Ukázka nepochopení souvislostí. Tato architektura potřebuje jen jednu adresovou a datovou sběrnici. V dobách sálových počítačů a prvních mikroprocesorů se počítala každá elektronka a tranzistor. Je ukázkou geniality v daném paradigmatu a plést do toho viry je nesmysl a dětinskost.
3) platforma x86, MC68000 a RISC
Kolik nesmyslů se dá napsat do dvou vět. To, že si IMB vybrala i8088 byla z dnešního pohledu skutečně chyba, ale byl to důsledek celkového marketingového podcenění začínajících osobních počítačů (=v té době hraček). Proto Intel ořezal 8086 na 8088. Ano, Motorola MC68000 už existovala a Apple si ji později vybrala (nejprve pro obchodně neúspěšnou Lisu), ale s RICSem neměla nic společného. Naopak, MC68000 je klasickou ukázkou mikroprogramované CISC architektury. Architektura RISC (Patterson - Berkley a Hennesy - Stanford) přichází až v osmdesátých letech a nejprve u minipočítačů (třeba Pyramid).
4) DOS a operační systémy
Opět ukázka nepochopení dobových souvislostí a míchání OS pro sálové počítače s mikroprocesorovými. PC-DOS jen nahrazoval CP/M (ano, s Digital Research to mohl být lepší OS, ale Gatesův primární zájem o aplikace možná naopak rozvoj PC urychlil).
Nebudu dál pokračovat v kritice - autor prostě nechápe souvislosti a když nakonci píše, že článek vychází "z pocitů a nevalné zkušenosti" budu s ním konečně souhlasit. Od společnosti "Et netera" toho mnoho čekat nebudu, ale od časopisu pro profesionály bych čekal víc.
Článek vyjadřuje názory
Článek vyjadřuje názory autora. Díky ne úplně obvyklé formě článku - odlehčené subjektvní zamyšlení - do nich samozřejmě není fakticky redakčně zasahováno. S polemikou se počítá právě na tomto místě...
Nechapem,
jednoduche nechapem ako sa taky dobry clanok dostal do rss feedu zive.
Velmo pekny a poucny clanok - mozem len podakovat.
tleskam ve stoje
Uz dlouho jsem na ceskem internetu necetl tak fundovany a vyborne napsany clanek. Tohle by mela byt povinna cetba pro vsechny IT lidi a predevsim vsechny ty leadery, architekty, managery, sefiky atp...
Víceméně souhlasím,
Víceméně souhlasím, dobrý článek, podepřený fakty. Jestli se tu najde nějaký flamista, tak těžko bude hledat nějakou skulinku, do které se opřít.Jj. evoluce, všechno je evoluce.
Já bych jen varoval nad nadužíváním Flashe, na některých stránkách je to prasárna.
Krásně shrnuto
Dokonale vystiženo, shrnuto a podtrženo. Nad znásilňováním nebohého HTTP protokolu jsem láteřil taky, na ty multimediální megaaplikace to prostě dělaný není.
Článek dostane jedničku s hvězdičko a autorovi zvedněte plat! :-)
procesory
Ještě že autor napsal na konec článku poznámku, že jsou to jen osobní pocity. Celý článek je o tom, že bylo vždy vybráno to nejhorší řešení a jeho důsledky si neseme dodnes. Tak co třeba procesory. Ano, byly v té době lepší systémy. A celá devadesátá léta vycházely v časopisech články, jak je CISC architektura oproti RISC nedokonalá, jak si X86 táhne kouli v podobě reálného režimu a nutnosti komopatibility a že ho jednou ostatní procesory převálcují. Hemžilo se to značkami jako NexGen a podobně a komu to dnes něco říká? NexGen pak byl koupen AMD a vyústil v K6, který byl RISCový a vstupní instrukce si překládal. Ale Intel držel krok.
Dneska nikdo nemůže říct, že x86 je CISC, protože to rozdělení ztratilo smysl. Výrobci si vzali z každého to lepší. Měli jsme tu oslavovanou Motorolu 680x0 a co udělal Apple? V roce 1994 přešel z procesorů Motorola na RIScový PowerPC od IBM, na kterém se chtěl podílet. Také tehdy se psalo, jak je PC s Intelem beznadějně zaostalé. A co se nestalo o 10 let později? Apple opustil PowerPC, protože ani ten nestačil na rychlý vývoj x86 a začal výkonově zaostávat. Resp. začala zaostávat IBM v jeho vývoji, zřejmě ten procesor neměl až tak dokonalou architekturu, aby to stačilo na konkurenční boj mezi Intelem a AMD.
Měli jsme tu DEC Alpha, nadějný procesor, který se ale široce neprosadil a Intel ho pohřbil. Máme tu Itanium, ke kterému se vzhlíželo a o kterém se mluvilo snad 10 let a když konečně přišel, tak se ukázalo, že není o moc lepší než 64bit rozšíření AMD procesorů, které nakonec Intel převzal. Itanium 2 se sice pořád prodává, ale žádný zázrak to také není.
Jak je vidět na příkladu Applu, který dvakrát úspěšně změnil CPU na jiný - nekompatibilní, nejsou až takové překážky, které by něumožnily jinému procesoru se široce prosadit. Ale kde jsou všechny ty ostatní lepší? Kde skončila koule za nožičče procesorů x86? Dávno odpadla a nezabránila mu běžet pořád dál. Opravdu si Apple loni vybral ten nejhorší procesor? Když už chtěl měnit, mohl si vybrat i nějaký jiný lepší, určitě by se to dalo marketingově využít.
Svého času fungovaly Windows NT na x86, DEC Alpha, Power PC, MIPS. Dnes už jenom na x86 a Itaniu (IA64), proč asi.
Ano, PowerPC neumřely, jsou třeba v každé druhé laserovce nebo možná i pračče (teď si trochu cucám z prstu :), nebo třeba SPARC, ale...
A teď z jiného soudku. Opravdu byla vždy vybrána ta nejhorší technologie? A co když je to naopak a byla téměř vždy vybrána ta lepší technologie, jenom se o tom neví, protože ty horší jsou už dávno zapomenuté? A těch několik vyjmenovaných jsou jenom výjimky, které je mnohem snazší dokázat?
Vyvoj nerovna se Revoluce
ha ha ha, autor sepsul nase predky, ze to "blbe vymysleli" a pritom zase hodnoti ze svyho pohledu. Co asi delali oni, kdyz vybirali ty "blby" technologie - vybirali z jejich pohledu optimalni reseni = Vykon/TOC.
A co bude optimalni za 10 let? To nevi nikdo - nevi to ani autor a chvala bohu to nevi ani velky Gates (640kb, internet, atd.). A diky bohu za vyvoj - jak dopadaly experimenty typu cinskyho skoku (hladomor, propad HDP), ruske zemedelske revoluce ve 30.letech (opet hladomor) vsichni vime.
A ohledne konkretnich temat: uz to tu pekne sepsuli komentare predemnou, tak jen par poznamek:
- ta soustava je snad vtip? o sepnuto/nesepnuto tu uz nekdo psal a ani analogovy technologie na tom nejsou lip. Kolikrat je problem rozlisit co je jedna a co nula - takze by bylo jeste neco uprostred? To by rovnou mohli nechat 2 bity datovy a treti dat na CRC.
- corba skoncila protoze se nehodila MS (a ten ma pro usery proste vetsi pridanou hodnotu nez corba, tedy: wokna-corba > linux+corba)
- java je lepsi? Krom pochybne multiplatformnosti (jde nahradit virtualizaci) je udajne "stejne" rychla jako C (ve snu a za optimalnich podminek;)
- flash snad radsi taky ne (velky jak prase, nelze cachovat a ukladat (a za ty flashovy videa co protezujou linku pri kazde navsteve stranky bych strilel).
A jeste neco: ne, v obchodnim svete se do rovnice Vykon/TOC opravdu nedosazuje jenom primy zakaznik. Proto nekdy _docasne_ vitezi technologie poplatna nektere ze stran.
Zlatanina
"z hlediska jazyka jako takového jde o propad minimálně o 15 let zpět." - myslim, ze autor nevie o programovani prilis vela. Z jazyka Java boli zamerne vynechane niektore konstrukcie (pretazovanie, viacnasobne dedenie, smerniky) aby sa zvysila bezpecnost jazyka. Uz v tych casoch platilo na niektorych miestach (NASA a podobne.) ze sa v Cecku taketo konstrukcie nesmeli pouzivat, pretoze sa zvysovali rizika prgramatorskych chyb.
_
Takze sa nejedna o prepad ale o zamer, ktory mal za ucel zrusit z jazyka veci, ktore tam nikdy nemali vzniknut.
_
... a takto by sa dal rozobrat cely clanok riadok po riadky - jednoducho blabol...
Reakce autora
Hezký den přeji všem diskutujícím. Pokusím se reagovat na některé příspěvky.
Ti co mi vyčítají neobjektivitu bych chtěl uporoznit, že článek rozhodně objektivní být neměl. Kontroverze byla účelem.
Ad poukazování na poměr cena/výkon, kontinuitu apod. - v závěru článku přeci tvrdím to samé. Zpochybňuji ovšem zda je tento postup optimální z technického hlediska.
K technickým tématům:
Trojková soustava - plně souhlasím s argumentací pomocí děrných štítků a relé, tam je opravdu těžké vyjádřit třetí stav. Ale ta doba je už dlouho za námi. V elektronických obvodech jsou tři stavy docela přirozené (+,0,-). Takže přechod na 3-stavovou logiku byl s příchodem tranzistorů možný, matematicky to bylo podchycené už dávno. A o její optimalitě existují matematické důkazy.
Intel/architektury - opravdu máte pocit, že zátěž 16 bitů už je za námi? Pořád existují 16bit aplikace a pořád se musí spouštět i v 32bit prostředí. Ad von Neuman - ano ve své době (zdůrazňuji - ve své době) to bylo výborné řešení. Nicméně doba pokročila, nedostatky se ukazují (a sem patří i viry), ale ke změně pořád nedochází.
Java - s obhajobou Javy nesouhlasím. V C byla jediná nebezpečná věc a to ukazatele a v C++ možná ještě přetěžování operátorů. Ukazatele byly vyřešeny uvedeném VM a GC. Ostatní oslabení vyjadřovacích schopností Javy skutečně nelze zdůvodnit pouze bezpečností. Co je nebezpečného na delegátech (viz .NET), vícenásobném dědění, uzávěrech, aspektové orientaci, generikách? To všechno jsou prostředky bezpečného objektového návrhu a přesto v Javě chybí či donedávna chyběli.
Nemám nic proti Javě jako takové, ale trvám na tom, že mohla být navržena podstatně lépe, pokud by záměrem bylo vytvořit nový objektový jazyk a ne zpotvořeninu C++.
Článek je tak hloupý,že jsem se zaregistroval,abych to napsa
Něco tak hloupého, jako tento článek, jsem opravdu už dlouho nečetl a přimělo mě to k tomu, abych se zarigistroval na tomto fóru a autorovi to napsal. A to je věc kterou dělám maximálně jednou za několik let.
Když jsem to dostal minulý týden na stůl, tak to byla ta poslední kapka, abych předplatné Connectu již neobnovoval.
Rada šefredaktorovi: až budete příště potřeboval nalít před uzávěrkou 3 stránky vejšplechtů, abyste mezi to mohli nacpat reklamu, použijte raději generátor Lorem Ipsum, možná tím bude pošramocena úroveň "nejelpšího časopisu pro IT prodfesionály" nepatrně méně.
článek je fajn, koukám,
článek je fajn, koukám, že někteří asi nepochopili, že jde o výtku současným technologiím, které příliš lpí na minulých chybách - byť tehdy se samozřejmě jednalo o nutnost...
Můj názor
Rozhodně si nemyslím, že je článek hloupý, jak tady uvedl někdo přede mnou (škoda jen, že svůj urážlivý výlev nedoplnil nějakými skutečnými argumenty nad kterými by se dalo polemizovat...). Naopak, připadá mi jako velice podnětný. Obzvlášť ta část o technologiích jako je AJAX a WS obecně je poměrně přesná. Osobně bych k tomu dodal jen „na hrubý pytel…“. A v závěru se autor také celkem trefil… Ačkoli, to, že informační technologie procházejí evolučním vývojem je podle mého názoru celkem logické… Jak řekli už Cimrmani: “nemusíte s tim souhlasit, nemusí se vám to líbit, ale to je tak vše co s tím můžete dělat “
Ste podobny ako autor a este
Ste podobny ako autor a este horsi, pretoze vase technicke znalosti su mizerne. O tom svedcia vase poznamky o Jave (pretoze ona je naozaj lepsia ako C a rychlost nie je dolezita pri tomto posudozvanie) alebo o flashi.
ale
tím tedy nechci tvrdit, že by lepší procesory neexistovaly, vždy je možné najít neco lepšího.
Revoluce vzdycky lip zni
jeste neco: ano, revoluce je teoreticky vzdy krasnejsi. Bohuzel jen teoreticky.
A citat nevim koho: <em>permanentni revoluce je jak permanentni orgazmus.</em>
No vidis, ja se zase
No vidis, ja se zase zaregistroval kvuli tomu, abych ti sdelil, ze nemas pravdu a tento clanek je naopak velmi presny a fundovane napsany.
Autorovi drzim palce: napsat nekde, ze napriklad Linux je zastarala technologie (coz je 100% pravda), totiz hranici s oznacenim za rasistu a problemy s osobni bezpecnosti. Docela se divim, ze to v redakci vubec proslo :-)
Do clanku se snad jeste mohla vejit situace kolem e-mailu, coz osobne povazuji za vubec nejvetsi ostudu pocitacoveho prumyslu. SPAM i sedmibitovy problem byly pritom vyreseny uz davno, ale chybi sila je prosadit.
Dvojková soustava & von Neumann
Trojková soustava (0,1,2), resp. (-1,0,1) možná je. Je možná i soustava o 200 úrovních (Viz prvky CCD, CMOS snímače).
Jak budete řešit základní funkce NAND, XOR, OR, ADD, NOT?
Kolik na ně potřebujete tranzistorů?
Jaké tranzistory zesilují i v závěrném směru?
Prosím o odkazy.
Zatím se ukazuje, že digitalizace - data, hudba, obraz - je výhodnější než zůstávání u vícestavové logiky.
Opakuji: Nové procesory se jen navenek tváří "von" - uvnitř von Neumannovské nejsou
http://www.volny.cz/kalibration/procesory.htm
http://www.vda.cz/studenti/prace/masek/AMD.htm
OS
Každý OS musí být trochu zastaralý (ověřený), nebo si umíte představit, že každých 5 let vznikne super nový moderní OS a všechny aplikace si budete kupovat znovu?
Jde o uplne neco jineho
Autor chyta naprosto silene premisy a dochazi z nich k naprosto silenym zaverum... slusna fantasmagorie, kterou lze zrejme opravdu pochopit jenom tim, ze potreboval dat dohromady ve tri rano pred uzaverkou tri stranky - nebo se jedná o opravdu nepovedené píárko.
Až se mi dostane do ruky CVčko, kde bude mít někdo zůčastněný napsáno, et netera, asi si ho pozvu a pozvu a prozkouším z vícehodnotové logiky, když jí tam mají tak rádi :).
Ehm.,m.. kterou pasáž toho podle vás skvělého článku jsem nepochopil?