Kniha Objektové programování od Čady

v

Re:Kniha Objektové programování od Čady
« Odpověď #150 kdy: 31. 05. 2017, 11:39:01 »
https://en.wikipedia.org/wiki/WebAssembly ?
No ale to je typicky webový narovnávák na ohýbák.
co se vám na tom nelíbí? nemám to nastudováno, prakticky jenom vím, že to existuje, ale zdá se to jako docela výrazné zlepšení proti js


gll

Re:Kniha Objektové programování od Čady
« Odpověď #151 kdy: 31. 05. 2017, 11:42:33 »
Nechtěl byste se raději naučit alespoň základy JS? Možná byste zjistil, že to není tak špatné, aby to bylo nutné nahrazovat.
Tak rozhodně musím kvitovat, že jste se mnou nikdy nepracoval, ani mě neviděl, ale přesně víte, co neumím. Nechcete po 11té na Nově předpovídat lidem budoucnost?

To nebyla reakce na vás.

Re:Kniha Objektové programování od Čady
« Odpověď #152 kdy: 31. 05. 2017, 11:42:37 »
co se vám na tom nelíbí? nemám to nastudováno, prakticky jenom vím, že to existuje, ale zdá se to jako docela výrazné zlepšení proti js
Nelíbí se mi na tom to, že to je nad asm.js. Což je přesně ta "jakžtakž použitelná podmnožina shitu".

Re:Kniha Objektové programování od Čady
« Odpověď #153 kdy: 31. 05. 2017, 11:47:23 »
co se vám na tom nelíbí? nemám to nastudováno, prakticky jenom vím, že to existuje, ale zdá se to jako docela výrazné zlepšení proti js
Nelíbí se mi na tom to, že to je nad asm.js. Což je přesně ta "jakžtakž použitelná podmnožina shitu".

Tady bych nebyl zas tak ostry. Ta podmnozina je vybrana tak, ze to dava (zda se) celkem rozumny bytecode. Ma sice hodne mizernou serializaci, ale to neni zas takova tragedie - prida to data na prenos, parsovani neni tak snadne, jak by mohlo byt, ale beh a optimalizace uz budou cajk.

Re:Kniha Objektové programování od Čady
« Odpověď #154 kdy: 31. 05. 2017, 11:51:42 »
Tady bych nebyl zas tak ostry. Ta podmnozina je vybrana tak, ze to dava (zda se) celkem rozumny bytecode. Ma sice hodne mizernou serializaci, ale to neni zas takova tragedie - prida to data na prenos, parsovani neni tak snadne, jak by mohlo byt, ale beh a optimalizace uz budou cajk.
No a kdyby se z toho to JS vyhodilo a zůstal jenom rozumný VM, byli bysme tam, kde bych svět rád viděl :)


Re:Kniha Objektové programování od Čady
« Odpověď #155 kdy: 31. 05. 2017, 11:56:09 »
Tady bych nebyl zas tak ostry. Ta podmnozina je vybrana tak, ze to dava (zda se) celkem rozumny bytecode. Ma sice hodne mizernou serializaci, ale to neni zas takova tragedie - prida to data na prenos, parsovani neni tak snadne, jak by mohlo byt, ale beh a optimalizace uz budou cajk.
No a kdyby se z toho to JS vyhodilo a zůstal jenom rozumný VM, byli bysme tam, kde bych svět rád viděl :)

Ano. Ale clovek ocividne nemuze chtit vsechno :-/

gll

Re:Kniha Objektové programování od Čady
« Odpověď #156 kdy: 31. 05. 2017, 11:56:45 »
Tady bych nebyl zas tak ostry. Ta podmnozina je vybrana tak, ze to dava (zda se) celkem rozumny bytecode. Ma sice hodne mizernou serializaci, ale to neni zas takova tragedie - prida to data na prenos, parsovani neni tak snadne, jak by mohlo byt, ale beh a optimalizace uz budou cajk.
No a kdyby se z toho to JS vyhodilo a zůstal jenom rozumný VM, byli bysme tam, kde bych svět rád viděl :)

S tím se v budoucnu počítá. Webassembly není asm.js.

asm.js už dnes funguje celkem dobře. Třeba emulaci starých her zvládá bez problémů.

Re:Kniha Objektové programování od Čady
« Odpověď #157 kdy: 31. 05. 2017, 12:01:59 »
asm.js už dnes funguje celkem dobře. Třeba emulaci starých her zvládá bez problémů.
Jiste no. Emulator Androidu na Xenu ve VirtualBoxu na bare metal hypervisoru by taky nejspis zvladl spustit Dooma ;)

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Kniha Objektové programování od Čady
« Odpověď #158 kdy: 31. 05. 2017, 12:05:09 »
Tady bych nebyl zas tak ostry. Ta podmnozina je vybrana tak, ze to dava (zda se) celkem rozumny bytecode. Ma sice hodne mizernou serializaci, ale to neni zas takova tragedie - prida to data na prenos, parsovani neni tak snadne, jak by mohlo byt, ale beh a optimalizace uz budou cajk.
No a kdyby se z toho to JS vyhodilo a zůstal jenom rozumný VM, byli bysme tam, kde bych svět rád viděl :)
A bude to umět aspoň vlákna? A nějaký rozumný GC?

Bufik

Re:Kniha Objektové programování od Čady
« Odpověď #159 kdy: 31. 05. 2017, 12:08:22 »
To ze v zakladu toho moc neumi je spise vyhodou
Ne, není. Nejlíp je to vidět na JSONu, ze kterého se bohužel stala lingua franca. Všichni trávíme tuny času tím, že svoje bohaté datové struktury horko těžko serializujeme do formátu, který neumí spolehlivě odlišit ani int a float. A s JS je to podobný.

WTF? co ma JS s JSONem a vasi neschopnosti prenaset datove struktury spolecne? Co to ma spolecneho s tim, ze neumis flagnout typy? Nahod si websocket na backend a prenasej rovnou relace a delej transakce. Nikdo ti JSON nenuti, pro mne za mne si prenasej textak nebo proprietarni binarku.

Kit

Re:Kniha Objektové programování od Čady
« Odpověď #160 kdy: 31. 05. 2017, 12:34:17 »
Nejlíp je to vidět na JSONu, ze kterého se bohužel stala lingua franca. Všichni trávíme tuny času tím, že svoje bohaté datové struktury horko těžko serializujeme do formátu, který neumí spolehlivě odlišit ani int a float. A s JS je to podobný. Transpilovat slušné jazyky do podmnožiny shitu je ztráta času.

Co si představuješ pod pojmem "horko těžko"? Serializace do JSONu je prkotina, tedy alespoň v PHP.

gll

Re:Kniha Objektové programování od Čady
« Odpověď #161 kdy: 31. 05. 2017, 12:43:26 »
Právě Lisp by mohl s přehledem nahradit jak serverovou část, tak i HTML, CSS s Javascriptem dohromady. Jenže uživatelé to chtěli jinak a implementace Lispu se do webových prohlížečů ani nedostala.

Javascript je čitelnější než Lisp. JSON, CSS a HTML jsou čitelnější než s-expressions. Lisp měl smysl v sedmdesátých letech, kdy jiné jazyky neumožňovaly zápis složitějších struktur a interaktivní použití. Javascript to umožňuje a IMHO lépe.

Klient by měl být konstruován tak, že k němu není přímý přístup přes nějaký jazyk, ale jen přes objektový, nebo funkcionální interface. Server by místo povelů pro renderovací jádro v HTML, CSS a javascriptu generoval lispovské seznamy, přímo interpretované lispovým jádrem prohlížeče. Důraz má být kladen na strojovou analýzu, nikoliv na čtení pro lidi. Lisp použitý jako deklarace je čitelnější než kompozit HTML, CSS a javascriptu. Ostatně proto se přechází na JSON, všude, kde to jde.

Komunikace přes API by asi byla dost pomalá. Nakonec byste prohlížeči stejně musel posílat celé programy a dokumenty najednou.

Re:Kniha Objektové programování od Čady
« Odpověď #162 kdy: 31. 05. 2017, 13:41:18 »
Co si představuješ pod pojmem "horko těžko"? Serializace do JSONu je prkotina, tedy alespoň v PHP.
Tak jistě, zavolat json_encode(val) je prkotina. Ale víš přesně, jaké garance ti to dává? Jsi si jistý, že val == json_decode(json_encode(val))? A když ne, víš přesně, kdy ne? Víš, jaký typ ti to dá, když HTTP/JSON API zavoláš z jiného jazyka?

A co s typy, které JSON prostě nemá? Budu z každého atomu dělat {type: "atom", val: "val"} jak debil? Co budu dělat s mapama, kde klíčem je dvojice nebo nedejsladkákálí strom...

gll

Re:Kniha Objektové programování od Čady
« Odpověď #163 kdy: 31. 05. 2017, 13:56:19 »
Ne, není. Nejlíp je to vidět na JSONu, ze kterého se bohužel stala lingua franca. Všichni trávíme tuny času tím, že svoje bohaté datové struktury horko těžko serializujeme do formátu, který neumí spolehlivě odlišit ani int a float. A s JS je to podobný. Transpilovat slušné jazyky do podmnožiny shitu je ztráta času.

Javascript moc nerozlišuje mezi floatem a integerem. Když dekódujete číslo s desetiným místem, logicky chcete float. Když číslo bez desetiného místa, tak vám může být jedno co dostanete.

gll

Re:Kniha Objektové programování od Čady
« Odpověď #164 kdy: 31. 05. 2017, 14:02:55 »
Co si představuješ pod pojmem "horko těžko"? Serializace do JSONu je prkotina, tedy alespoň v PHP.
Tak jistě, zavolat json_encode(val) je prkotina. Ale víš přesně, jaké garance ti to dává? Jsi si jistý, že val == json_decode(json_encode(val))? A když ne, víš přesně, kdy ne? Víš, jaký typ ti to dá, když HTTP/JSON API zavoláš z jiného jazyka?

A co s typy, které JSON prostě nemá? Budu z každého atomu dělat {type: "atom", val: "val"} jak debil? Co budu dělat s mapama, kde klíčem je dvojice nebo nedejsladkákálí strom...

JSON se rozšířil, protože je jednoduchý. Když vám nevyhovuje, alternativy existují.

Jaký je rozdíl mezi atomem a stringem?

Kdybych chtěl jako klíče dvojice, asi bych je zakódoval do JSONu. Není to ideální, ale je to jednoduché a dostačuje to.