Co vám vadí na JavaScriptu v roce 2018?

Honza

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #30 kdy: 25. 09. 2018, 14:33:40 »
Že se používá na skoro všech webech i těch v principu se statickým obsahem na straně klienta. Ještě před 10 lety jela většina webů i bez js, dnes už jen čestné výjimky. Js je pro mě jazyk na srandičky a hříčky a validaci formuláře na straně klienta.


Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #31 kdy: 25. 09. 2018, 14:35:15 »
Js je pro mě jazyk na srandičky a hříčky a validaci formuláře na straně klienta.

Tak to jsi asi sto let pozadu. :)

BoneFlute

  • *****
  • 1 987
    • Zobrazit profil
Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #32 kdy: 25. 09. 2018, 14:47:19 »
JavaScript je ve sve podstate dokonaly skoro od pocatku. Vsechno je objekt, event driven, jednoducha syntax a uspokojiva sada zakladnich knihoven, proste klasicky computational complete scriptovaci jazyk 3.5te generace = udelas v nem vse. Novejsi varianty od ES6+ nebo TS jsou povetsinou sugar syntax nadstavbou nad dokonalym zakladem ale taky pridavaji FP ficury co muzeme nalezt u jinych jazyku (treba iteratory, generatory, nove operatory atd.)

Co mu lze vytknout je v podstate to, ze mnoho odpousti a tam kde by jiny jazyk uz bezmocne rval tak JS se porad este snazi nepadnout. I kdyz je jednoduchy tak neni moc pro zacatecniky, treba operator + ma dvoji vyznam (na kterem je zalozena drtiva vetsina JS vtipku a snazi se autocastnout cokoliv aby nepadnul).

Ta C-like syntax je zaroven zdroj potizi pro prebehlivce z jinych jazyku, protoze si mysli, ze kdyz umi C ci Javu tak daji JS levou zadni a pak rvou nesmysly po forach misto toho aby si koukli manual a naucili se JS pouzivat spravne. Prasarny se daji delat v kazdem jazyku, naucte se ho poradne a nedelejte je, pak bude JS dobry sluha.

Casto se mu vytyka matika ale je to standardni implementace jako u spousty jinych jazyku a komu je to malo ma hafo knihoven pro presnejsi matiku.

Sila JS je taky v tom, ze vzhledem na chudost zabudovanych knihoven vzniklo milion frameworku a nadstaveb takze je z ceho vybirat a nemusite vynalezat kolo. Typicky treba utilitky pro funkcionalni programovani jako underscore nebo lodash.

Suma sumarum JS dnes vladne webu, vyhrava na frontendu (Electron, desktop managery) a pomalu si podmanuje backend (nodejs). Milovnici starych "dobrych" casu a jazykou mohou spkripat zuby, ale je to tak, zitra bude vsechno v JS resp. jeho novejsich iteracich.

Vjacemeněj souhlasím.

Moje výhrady:
- Je složitý. Pro začátečníka je to past vedle pasti.
- Je velký. Taková Lua mi přijde mnohem příjemnější. Na rozdíl od JS se pro ní dají snáze vytvářet céčkové extenze, snáze se bundluje do nějaké aplikace, má mnohem menší paměťovou náročnost. Syntaxí je mnohem kompaktnější a čistější. JS má naopak zbytečně zbytnělou syntax. Umí výjimky, ale neumí foreach.
- Monkey patching.
- Absence statického typování.

Co na JS naopak oceňuju:
- skoro všechno je first-class, funkce, typy
- céčková syntaxe

agent

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #33 kdy: 25. 09. 2018, 14:47:46 »
Js je pro mě jazyk na srandičky a hříčky a validaci formuláře na straně klienta.
Já už si zvykl ty formuláře přes ajax odesílat na server a redirect jinam udělat až po potvrzení úspěšného uložení.
A pokud jsou navíc součástí i nějaké větší soubory a uploaduje se to dlouho, tak klient alespoň může sledovat stav ukládání na server.
<form action=""><input type="submit"></form> už je fousatá historie. :-)

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #34 kdy: 25. 09. 2018, 15:02:51 »
Moje výhrady:
- Je složitý. Pro začátečníka je to past vedle pasti.
- Je velký. Taková Lua mi přijde mnohem příjemnější. Na rozdíl od JS se pro ní dají snáze vytvářet céčkové extenze, snáze se bundluje do nějaké aplikace, má mnohem menší paměťovou náročnost. Syntaxí je mnohem kompaktnější a čistější. JS má naopak zbytečně zbytnělou syntax. Umí výjimky, ale neumí foreach.
- Monkey patching.
- Absence statického typování.

Co na JS naopak oceňuju:
- skoro všechno je first-class, funkce, typy
- céčková syntaxe

S tím se dá souhlasit, ale s tím, že je pro začátečníka těžký nevím... Pokud začátečník jiný jazyk neviděl, tak to naopak může být fajn. Nativně asynchronní (přejít na synchronní není takový problém jako opačně), složitější části jazyka lze objevovat postupně... A je všude + díky provázanosti s webem jde relativně rychle udělat základní gui. Ale ano, pokud začátečník přejde z nějakého jiného jazyka, tak se asi brzo střelí do nohy. :)

Btw neumí foreach?


Boo

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #35 kdy: 25. 09. 2018, 15:07:27 »
Že se používá na skoro všech webech i těch v principu se statickým obsahem na straně klienta. Ještě před 10 lety jela většina webů i bez js, dnes už jen čestné výjimky. Js je pro mě jazyk na srandičky a hříčky a validaci formuláře na straně klienta.

Jsi zaspal dobu, kdyz si myslis ze to jen validace formulare a blikani a hvizdani.  :D
MVC/MVVM singlepage app se kodili uz snad pred 8 lety (treba fb, twitter a spousta dalsich) takze se v tom normalne kodi aplikace. Akorat nebezi primo v OS ale v browseru. Ostate proto dnes mas desitky multiplatformnich aplikaci, ktere prdi na to jaky OS maji pod sebou, staci ze tam frci jadro chrome (Electron, Cobalt, Cordova...). Anebo na to neprdi, ty si kodis s jistymi pravidly web apku a na pozadi to vyuziva API OS (obvykle u mobilu, React Native, PhoneGap).

By si se divil co mas v mobilu anebo na desktopu a frci to v JavaScriptu (Skype, Slack, VisualStudio Code, Atom, Discord, WhasApp, Viber a spousta dalsich).

Boo

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #36 kdy: 25. 09. 2018, 15:08:42 »
Btw neumí foreach?

Jenom jako iterace prvku pole. Kdyz chces iterovat props objektu tak na to musis for cyklem.

Vlado

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #37 kdy: 25. 09. 2018, 15:16:24 »
Btw neumí foreach?

Jenom jako iterace prvku pole. Kdyz chces iterovat props objektu tak na to musis for cyklem.

Akurát, že nie bežný for, ale for in cyklus.

Vlado

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #38 kdy: 25. 09. 2018, 15:25:08 »
PS: Object.keys(myObj).foreach(cb), ak na to chceš ísť funkcionálne

agent

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #39 kdy: 25. 09. 2018, 15:31:06 »
Object.keys(myObj) je pole - takže zase foreach nad polem. :-)

Ale stačilo aby místo "for each (variable in object)" byla syntaxe "foreach (variable in object)" a Boo by byl spokojený :-)

JardaH

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #40 kdy: 25. 09. 2018, 15:40:50 »
Já jsem měl chuť udělat hru v browseru v HTML5, canvas a čistý JavaScript, tzv. vanilkový.  Předtím jsem naposledy viděl JS někdy v roce '96, kdy něco fungovalo v Netscapu, něco v MSIE, ale kompatibilita žádná. Pak JS skoro umřel na všechno bylo PHP a pak už jsem se nikdy až na pár vyjímek s něčím okolo webu srát nemusel.

Takže jsem začal od nuly, pokoušel se proniknout do ECMAScript6, snažil se udělat jakýs-takýs mírně objektový design, nějaké datové struktury atd, a ke canvasu se snažil přistupovat jako k bytovému poli, čistý kód...

No s tímhle přístupem jsem si tak maximálně nabil držku a posléze jsem se na to z vysoka vysral. Prostě mi to vůbec nevyhovovalo, maximálně jsem se lehce uklidňoval nad tím, že to má aspoň C syntax... Kdybych to napsal v C/SDL a pak zkompiloval pomocí llvm+emscripten, tak jsem to mohl mít za dva víkendy hotový.

Kit

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #41 kdy: 25. 09. 2018, 15:43:27 »
Object.keys(myObj) je pole - takže zase foreach nad polem. :-)

Pole se v Javascriptu chová spíš jako seznam, podobně jako v PHP, takže ten foreach je namístě.

Kit

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #42 kdy: 25. 09. 2018, 15:48:27 »
No s tímhle přístupem jsem si tak maximálně nabil držku a posléze jsem se na to z vysoka vysral. Prostě mi to vůbec nevyhovovalo, maximálně jsem se lehce uklidňoval nad tím, že to má aspoň C syntax... Kdybych to napsal v C/SDL a pak zkompiloval pomocí llvm+emscripten, tak jsem to mohl mít za dva víkendy hotový.

Nebyla náhodou chyba v tom, že jsi k canvasu přistupoval jako k bajtovému poli? To musel být docela opruz.

0

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #43 kdy: 25. 09. 2018, 15:55:03 »
muj problem s javascriptem je ten, ze jakakoliv slozitejsi aplikace napsana v nem je prasarna z pohledu vykonu a systemovych prostredku

moje nejcerstvejsi zkusenost je ten webovy photoshop od ceskeho tvurce. Na prvni pohled to vypada velmi dobre, ale kdyz to zacnete pouzivat zjistite ze to je prilis pomale a nenazrane

Puff

Re:Co vám vadí na JavaScriptu v roce 2018?
« Odpověď #44 kdy: 25. 09. 2018, 15:58:07 »
muj problem s javascriptem je ten, ze jakakoliv slozitejsi aplikace napsana v nem je prasarna z pohledu vykonu a systemovych prostredku

moje nejcerstvejsi zkusenost je ten webovy photoshop od ceskeho tvurce. Na prvni pohled to vypada velmi dobre, ale kdyz to zacnete pouzivat zjistite ze to je prilis pomale a nenazrane
To by mělo do budoucna řešit WebAssembly.