No nevím...
Můj dojem z přednášky je, že pán zavrhl Webassembly protože dle mého vůbec nepochopil co to je.
Nejdříve se dozvíme, že Wasm je hrozně omezené, že nemá objekty a vůbec je to omezený jazyk (facepalm) ... je to web ASSEMBler nízká ůroveň programování (o 10 pater pod jeho milovaným PHP)
Wasm je pomalé, protože místo ,aby si zkompiloval PHP kód do wasm, tak si zkompiloval PHP engine a v něm interpretoval PHP ... (facepalm)
A dále je Wasm špatné protože Unreal engine ukončil podporu ... to že Unity v něm běží jak z praku tak prohodí jen tak mimochodem ...
A vůbec je špatné, že se musí kód kompilovat ...
Bylo utrpení to dokoukat.
občas si na jejich workshopy také zajdu, ale mlčím a jen tiše sleduji. Jsou to php/js weboví vývojáří a jejich cílovka jsou asi zase weboví vývojáří.
Je skvělý, že má někdo odvahu si něco připravit a jít to ostatním říct, je skvělé, že se o ty věci zajímají, někdy mají dobré postřehy, je dobré občas vidět lidi z podobného oboru a pokecat.
Je to dobrý pohled jak vlastně vypadají běžní vývojáři, jak problémy řeší, jak jsou schopní si téma nastudovat a prokousat se s ním. Pro mě to je velmi užitečné, protože posledních 20 let jako vývojář už nepracuji a nemám moc příležitostí vidět jinou bublinu. Je pak snadné říct, že "je utrpení to dokoukat", ale každý se věnuje prostě něčemu jinému a ne každý má ve všem hluboké dobře prezentované znalosti. Jak by vypadala tvoje přednáška, když bys měl mluvit o něčem, co právě zkoumáš a je to lehce mimo tvůj obor?
Ta cílovka je jiná, já bych to tolik nekritizoval, aspoň ne veřejně, ale pouze osobně do očí jako zpětnou vazbu autorovi.
Super! Tady je rovnou jedna příležitost - 21. 5. 2025 budu na workshopu „Efektivní využití AI agentů ve vývoji“ v Osteria Garage (Plzeň Slovany) od 18:00. Nebudu přednášet, takže budeme mít spoustu času to probrat. To samozřejmě platí pro všechny, kdo si o tom chtějí osobně popovídat. Je škoda na sebe štěkat v diskuzi na Rootu.
Kritik-tu!
Obávám se, že to asi osobně nepůjde. Plzeň je z ČB dlouhé hodiny daleko ...
Doufám že si ten názor neberete moc osobně. Uznávám že jsem si poslední větu mohl odpustit. Za zbytkem si, ale stojím.
Celá přednáška mi připoměla dávnou přednášku kde byl kritizován Debian v roli serveru. Přednášejíci - milovník Windows - dospěl k názoru, že Debian server je na nic protože nemá GUI. Úplně minul cíl, důvod a účel.
Dle mého názoru byste si z této kritiky mohl vzít ponaučení, třeba to pomůže vašim dalším přednáškám.
Na začátek jen malé upozornění - moje komentáře procházejí moderací, takže se tu můžou zobrazovat se zpožděním nebo v jiném pořadí. Není to ignorance.
Nic si neberu osobně, naopak, máte moji plnou pozornost. A mým největším cílem teď je vytěžit z Vaší zpětné vazby co nejvíc konkrétních poznámek, abych se mohl zlepšit. Přece jen, když napíšete „přednáška o tématu, kterému úplně nerozumí“, tak mi to bohužel moc nepomůže. Neboť bez konkrétních bodů se z toho těžko poučím.
Přijde mi, že za zklamáním tu je špatně nastavené očekávání. Už to, že to nemá GC, znamená buď použít jazyk bez GC, nebo k tomu nějaký GC zkompilovat do webassembly a přibalit. V takových situacích ale dost možná vyjdou lépe nějaké transpilery.
Reálně jsem wasm použil jako programátor asi třikrát. Z toho dvakrát jsem použil hotový software zkompilovaný do wasm (LaTeX a Stockfish). Naposledy jsem si zkusil udělat GUI ke kódu v Rustu, tam použití wasm bylo ovlivněno tím, že jsem si to chtěl vyzkoušet.
A ještě horší je, pokud tomu rozumí, ale neumí to podat srozumitelně. V tomto případě mi přednáška připadá dobrá, jen stačilo upozornit na několik problémů. Psát wasm vůbec není potřeba a každý jazyk to umí naprogramovat sám. Takže i golang "běží" ve wasm. Kód pro server a klienta stačí psát v golangu.
To je pravda - nakonec jsem nepoužil přibližne 40 slajdů. Mne to vždycky tak mrzí, že ta přednáška třeba nemůže být 4 hodinová. :-/ Je tu ale ještě druhá věc - většina publika nepoužíva Go, takže by to pro ně mohla být překážka.
Máte nějaké praktické zkušenosti s Go ve webassembly? Pokud ano, nechcete se podělit?
Předem chci neironicky poděkovat, že jste to dokoukal. Já osobně bych asi něco, co mi způsobuje utrpení, nedokoukal – takže za to máte můj velký respekt.
K jednotlivým bodům:
PHP zrovna nepatří mezi mé milované jazyky. Upřímně si ani nemyslím, že je zdravé milovat jakýkoliv programovací jazyk – ale to už je spíš na filozofickou debatu u piva. Každopádně v přednášce o WebAssembly a webu se PHP zmínit muselo – je to pořád jeden z nejpoužívanějších jazyků na backendu.
Kompilace PHP přímo do WebAssembly zní jako zajímavý nápad, ale zatím neexistuje žádný reálně použitelný nástroj, který by to zvládl. A vlastně si ani nemyslím, že by většinu lidí takový nástroj potěšil – PHP je dost kontroverzní i bez toho. Ale stejné problémy byste měli i s Pythonem, Ruby, Lua… Zkrátka se tam potýkáme s dynamickým typováním, evalem a nutností přibalit runtime.
A jak funguje Blazor (.NET ve Wasm)? No… to možná člověk vlastně ani nechce vědět. Ani Mono si tohle nezasloužilo.
WebAssembly je podle mě takový kočkopes – měl to být nízkoúrovňový sandboxovaný bytecode s téměř native performance… ale najednou tu máme výjimky, GC, JS Promise integraci, a WASI component model, který na mě osobně působí dost "CORBA like". A cokoliv co vypadá jako CORBA mne hodně děsí. :-D
Unreal Engine jsem zmínil právě proto, že byl často uváděn jako vlajkový use-case. Když z WebAssembly vycouval byl to důležitý signál. Chápu, že to není všeříkající, ale myslím, že to ilustruje mezeru mezi očekáváním a realitou. Je to jako kdybyste postavil závodní okruh pro Formuli 1 – a zjistil, že jezdí hlavně traktory. Super, ale asi jste čekal něco jiného.
A k tomu závěrečnému bodu: mohl byste mi prosím upřesnit, kde konkrétně podle vás tvrdím, že „kompilace je špatná“? Neříkám, že to nezaznělo, ale opravdu mě zajímá, co vás k tomu dojmu vedlo. Pokud to tam zaznělo necitlivě nebo nešťastně formulované, rád si na to posvítím.