Retro duch

Nemám toho správného retro ducha. Nemají ho rozhodně moje javascriptové emulátory a assemblery a další havěť.

Je to tak. Kdyby to toho ducha mělo, tak by tam někde byl, namalovanej, taková bílá bublina s vočičkama…

Ale ne, vážně. Bylo mi vyčiněno (tomuto obratu se říká „zdvořilostní trpný rod“), že moje JS emulátory jdou proti duchu staré techniky. Ten duch totiž spočíval v tom, že s málem, rozuměj s technikou, která je z dnešního pohledu zastaralá, někdo dokáže udělat moc, jen díky šikovnému zapojení a ještě šikovnějšímu naprogramování.

S čímž souhlasím. Kdo jste viděl způsob, jakým ZX-80 a ZX-81 zobrazuje znaky na obrazovce, tak víte, o čem mluvím. Ano, bylo to úžasné a fascinující, a to je ten retroduch. Fajn.

Respektuju a obdivuju cestu, kterou jdou například pánové Jirka nebo Martin. Vytahují a oprašují starý hardware, rekonstruují ho, rozšiřují pomocí nových technologií, popřípadě zcela přestavují, překreslují staré plošňáky, mění zapojení tak, aby zachovali tehdejší minimalismus s dnešními možnostmi… Rád si jejich články čtu. Stejně jako Dexe, Logouta a další, kteří v podstatě pracují s veterány.

Trošku se rozcházíme u pohledu na novou techniku. Zůstanu u toho automobilového přirovnání: chápu milovníka veteránů, co si opatruje své klenoty a všude s nimi jezdí. Rád si poslechnu jeho vyprávění o tom, jak to tehdy byla poctivá kovařina a strojařina. Vím, že svoje stroje zná do posledního šroubku. Chápavě pokývám, když bude nadávat na ty moderní auta, kde není prostor pro tvůrčí rozlet, kde opravář umí akorát připojit sondu a vyměnit pak celý kus něčeho, kde je všechno řízené jedním počítačem a nazdar bazar, kde nejde jemně tohle přiohnout, tamto natáhnout a semhle přivařit, aby to jezdilo rychleji. Furt OK. Ale pak sednu do svého vozu z roku 2007 a odjedu s ním. A tady je ten bod zlomu.

Někteří milovníci veteránů se usmějí a dodají, že oni taky jezdí na ty běžné události moderním autem, kde si maximálně tak vymění žárovku, ale nepálí je to. Ale jiní si třikrát odplivnou a na rozloučenou vám dají přednášku, do jakého sráče že to sedáte. Pro tyhle hardcore veteránisty jsou ti první sváteční, nezapálení, možná i zrádci veteránské myšlenky.

Patřím k těm prvním. Mám rád hry na ZX Spectru, a když jsem zrovna neměl Spectrum a televizi, zahrál jsem si je klidně v emulátoru. Na stroji, který má mnohem, mnohem, MNOHEM větší výkon než to Spectrum. Kde není programování dobrodružství, protože vás od toho opravdu nebezpečného chrání dvacet mezivrstev, které bezpečně zachytí každou riskantní situaci. Kde vám nejde o sto bajtů, protože jen tenhle text jich má možná třicetkrát tolik (nepočítal jsem).

Zhnuseně tomu říkají „bloatware“. To jsou všechny ty hnusné mezivrstvy, které – jo, klidně to řekněte – zajišťují, že stroj s několika procesory a gigahertzovým kmitočtem a gigabajty paměti emuluje ZX Spectrum, 3.5MHz, 48 kilobyte.

Ano, vím, že kdyby někdo ten hnusný bloat odstranil a programovalo se přímo v assembleru, tak jsou všechny ty programy mnohem menší a rychlejší… jenže by nebyly, a když by byly, byly by naprosto nehorázně drahé.Ten „bloat“ je totiž programátorská lenost, protože programátoři chtějí udělat víc věcí rychleji, tak si pro to vytváří nástroje, jako například „vyšší programovací jazyky“, a ty holt s sebou nesou tuhle daň. Ovšem to je hnusná ekonomická realita a trošku jsem odbočil od tématu.

Ano, vím, že si můj emulátor vezme sto mega paměti. Je to proto, že je napsaný v JavaScriptu a běží v moderním prohlížeči. Kdybych ho psal v assembleru, dostanu se třeba na sto kilo velký runtime a stejně velkou paměťovou náročnost. Ale já nechci dělat perfektní emulátor PMD, od toho tu máme RM Team. 🙂 Já jsem si udělal emulátor, co byl za pár dnů hotový, funguje, a funguje bez toho, abych si musel něco instalovat, stahovat, rozbalovat, prostě jen instantně otevřu odkaz. Ano, žiju na internetu, a emulátor na internetu je pro mne nejpřirozenější.

Duch retra je pro mne až vevnitř. Až v tom, co si pro emulátor napíšu. Tam je ten boj o každý bajt. Není opravdový, samozřejmě – ale o to mi ani nejde. Mám jen rád tu dobu, osmibitový „feeling“ (fuj!) a taky mě baví svoje znalosti proměňovat do nějakého výsledku.

Rigidnímu retro duchu by odpovídalo, kdybych vzal pájku a spájel si vlastní počítač (což je, že předbíhám, samozřejmě v plánu, stejně jako rozšíření a vylepšení mé osmibitové sbírky – zrovna poslední přírůstek je Zilogat0rův divIDE). A na něm se vyřádím, možná ho vezmu někdy na nějaký sraz majitelů starých počítačů, ale do té doby si to klidně budu celé emulovat v JavaScriptu v prohlížeči, protože v tomhle směru nejsem purista. Mně stačí, když emulátor pípá, zelenají se písmena a ty pražce drncaj dú dá dú dá dú dá…

Aktualizace: Z druhé strany barikády komentuje technomorous Logout.

Příspěvek byl publikován v rubrice Emulace. Můžete si uložit jeho odkaz mezi své oblíbené záložky.
  • Teraz si asi ešte viac rozhádžem ortodoxných spektristov (niektorí na mňa už teraz krivo hľadia, že sa venujem nejakému javascriptu a píšem doň konvertor formátu speccy zdrojákov [http://d.borik.net/sjasm2as/] a grafický editor pre PMD 85 [http://pmd85.borik.net/colorace/], no proste pche, fuj, apod. ;), ale pod tento článok a názor v ňom sa podpisujem v plnom znení!

  • Tento komentář poslal Dave de Sade, ale kvůli problémům s Disqusem ho poslal mailem, takže ho sem vkládám za něj:

    ————-

    No jo, to je přesně ono. Zprasit kód za pár dnů, výkonu je nadbytek, plýtvá se pamětí, co na tom, že to sežere 300 MB RAM, hlavně že to emuluje 48k systém bez námahy, nutnosti přemýšlet. To umí každej! 😉

    Tropím si šprým – emulátory v principu nepohrdám, ale jako vášnivý hráč neuznávám, když někdo hraje v emulátoru a pak tvrdí, že něco dohrál nebo že pořádně zapařil. Atmosféra hraní je někde úplně jinde. Samozřejmě, že emulátory hojně používám, protože jsou pohodlnější, leč obvykle po letmém otestování funkcionality cpu tu samou hru do originálního hardwaru, abych ze hry vymačkal maximum tak, jak bylo autory původně zamýšleno.

    Na druhou stranu mne opravdu irituje, když například Twitter – služba založená na lehkosti a malém počtu znaků na příspěvek – zabírá v mém Android telefonu 35 MB. Nejsem programátor a rozumím tomu, že klient není jen get-post okénko na 140 znaků. Ale opravdu kvůli těm pár tweetům potřebuju 35 MB aplikaci? Fakt by to nemohlo jít nacpat do jednoho megabajtu třeba? Ta rozežranost a lenost programátorů mne prostě vytáčí, úvaha „tak si kup telefon s větší pamětí“ mi přijde přímo proti evoluci. Je to jen tloustnutí, ne růst. Stejně tak se pohlížím na online emulátor ZX, který potřebuje 100 MB RAM – přijde mi to prostě přehnané. Určitě nečekám, že to bude mít sto kilo, ale sto mega? Jak nejsem programátor, tak jsem asi naivní, ale laicky mi to hlava prostě nebere (jsem si vědom požadavků frameworku, ale přijde mi to prostě neomluvitelně moc).

    Četl jsem někde o analogových simulátorech procesorů (snad pro SNES?), který vyžaduje 2 GHz procesor a spousty paměti – tam mi to přijde pochopitelné.

  • Dostali jsme se holt do období, kdy hodina práce programátora může ušetřit 10 % paměti – ale ta paměť je řádově levnější než práce programátora. A to je celý problém. Technika je zkrátka už tak levná, že nejdražší je lidská práce. Může se nám to nelíbit, můžeme proti tomu protestovat, ale asi nikdo by se nechtěl vrátit do doby, kdy 64kB paměti stálo jeden měsíční plat.

    Znám jeden jediný uživatelský program, o kterém se říká, že je napsaný v assembleru (pomíjím ovladače a kernely atd.), a to je uTorrent.

    Ono „tloustnutí“ šlo ruku v ruce s věcmi jako „datové struktury“, „knihovny“, „objektové programování“, „dynamicky typované jazyky“, „grafické UI“, „přenositelnost“ atd., zkrátka všechno to, díky čemu máme dneska počítače doma na stole a v kapse u kalhot, nikoli v sálech. Chápu lidi, kteří mají rádi „staré dobré časy“ i technomorousy, kteří mají proti tomuhle pokroku zásadní výhrady, ale bohužel – vývoj jde a půjde jinudy.

    Snad jako perličku bych doplnil, že jsem kdysi dával na Zdroják zprávičku o tom, že někdo narval do 1kB JavaScriptu šachy i s figurkama, a opravdu to s určitými omezeními hrálo. Krásná ukázka toho, co se dá vymáčknout z 1kB, taky trochu inspirace… a reakce lidí, programátorů, byla: „Neumí to rošádu!“ Herdek, lidi, ale umí to spoustu věcí v jednom kilu! 🙂

  • Factor6

    Já bych s tímto tvým názorem celkem souhlasil. Moderní techniku používám, jako dnes asi každý a záměrně se nesebeznásilňuju tím, že bych chtěně měl používat třeba PPC Mac jen proto, že je to PPC Mac a nevadila by mi na něm třeba dnes už omezená možnost sledování YouTube či podobných ultramoderních cool věcí, které každý chce, ale zároveň dramaticky plýtvají hw prostředky a žerou výkon. Na modšrním počítači si čtu maily, browsím, občas emuluju. Pokud chci jsen zkouknout nové demo nebo hru, nebudu to složitě přenášet na reálnou mašinu, ale pustím si emulátor. Naopak mi dost vadí, až tak, že mě to sere, že dost utilit a emulátorů jsou jen pro platformu Windows (typicky Atari scéna), kterou používám jen v práci (kde si hrát moc nemůžu) a doma díkybohu ne. Ale dá se to přežít a dost věcí funguje i ve wine či darwine. Proto tyto vaše javascriptové projekty vítám, neboť jsou přenositelné a k dispozici všude, kde je internet a webový prohlížeč. Záměrně píši javascriptové, protože javascriptjava, ale to tu přece snad nemusím zdůrazňovat. Takže za mě je to ok a oceňuji přístup i zápal pro věc 🙂

  • ad prva veta: bohuzial je to pravda. Lenze dnes programuju ludi a ktorych hodina prace nema cenu ani len 1K RAM z SDRAM. Lenze dnes sa programatorom platia premrstene peniaze. A kedze im sefuju neprogramatory tak im zozeru kazdu blbost co povedia. Lebo si kazdy mysli ze drahy programator = dobry programator. A pritom velka cas z nich len „kresli“ kod bez hlbsej znalosti jazyka aj funkcii ktore pouzivaju.