Postřehy ohledně architektury JavaScriptu

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #30 kdy: 24. 08. 2016, 19:45:50 »
Ta "nuda" byla záměrem tvůrců Go, jak jeden cca. před rokem obsáhle vysvětlil na konferenci. Nechtěli žádný super fancy jazyk, ale jednoduchý praktický nástroj. Myslím, že se jim to povedlo, Go je hodně rychlé (poráží Javu) a jako server se výkonem blíží nginxu. Záměrně nemá poslední výkřiky IT módy, ale je při zemi a pragmatické.

Pokud se nepletu, tak nema ani pomerne zasadni vlastnosti, ktere tu jsou uz desitky let. Namatkou treba algebraicke typy + pattern matching (vcetne Maybe/Option typu), generika, makra... Nehlede na to, ze "posledni vykriky" IT mody nemusi nutne znamenat, ze jde o samoucelne vystrelky. Kdyz Go srovnam s "modernimi" jazyky jako Rust a Julia a asi i Nim, prijde mi, ze ta jeho konzervativnost je dana spise omezenosti jeho autoru, kteri se zasekli nekde v 70. letech a svoji omezenost ted vydavaji za prednost.
Tak todle je fakt opravdu mimo ... pošli stejnou stížnost Jave/C++/C#/... starej jazyk se prostě vyvíjí pomalu a JS je starej jazyk (21 let).

Nehedě na to že v ES6 už něco jak náznaky pattern matchingu jsou.
Nepřehlédl jsi se, že reakce je na jazyk GO, a nikoliv na Javascript?


čumil

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #31 kdy: 24. 08. 2016, 19:48:07 »
Co se tyce tech prototypu - existuji nejake paterny jak s dedicnosti v JS zachazet spravne? a co si dovolit a co uz ne? ctu good parts a prijde mi to trosku zastarale vuci ES6.

Dal sem se chtel zeptat jak se orientovat v tom ktera platforma co implementuje za 'featury' - nasel sem nejaky monstrozni matrix ktery to ma vysvetlovat nicmene napr. co implementuje node.js napr. ve verzi 0.10.40 sem tak nejak nenasel - o JS se zajimam hlavne kvuli node a atomu a rad bych si vubudoval nejaky vlastni js 'aparat' jak v tom psat aby to nebylo presroubovane a tak ... mate nejake linky o nejakem subsetu platnemu k 2016? :)

A posledni otazka k te nizkourovnovosti - jak je to teda mysleno? Diik

YF
Začni třeba tímhle (https://developer.mozilla.org/cs/docs/Web/JavaScript/Inheritance_and_the_prototype_chain), bude tam i ten shit s třídama. Díky ale za něj, aspoň nebudou ignoranti znovu vynalézat kolo/a.

Jo to máš kurva blbý, dneska přichází ES6, počkej 3-5 let a bude to bezpečný používat mainstreamově a tak dále. To znamená, piš jako kdyby ES6 nebyla ačkoli často podpora už bude. Budeš totiž ten svůj skvost chtít (měl bys) rozjet i na trochu starších enginech ...

Jak je to myšleno? Blbě. Autor si pod "lowlevel" představil asi něco kapku jinýho než jak se obecně pod tímhle termínem myslí. Lowlevel je například C++, ale není až tak lowlevel jako třeba C nebo rovnou ASM ...

čumil

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #32 kdy: 24. 08. 2016, 19:49:17 »
Ta "nuda" byla záměrem tvůrců Go, jak jeden cca. před rokem obsáhle vysvětlil na konferenci. Nechtěli žádný super fancy jazyk, ale jednoduchý praktický nástroj. Myslím, že se jim to povedlo, Go je hodně rychlé (poráží Javu) a jako server se výkonem blíží nginxu. Záměrně nemá poslední výkřiky IT módy, ale je při zemi a pragmatické.

Pokud se nepletu, tak nema ani pomerne zasadni vlastnosti, ktere tu jsou uz desitky let. Namatkou treba algebraicke typy + pattern matching (vcetne Maybe/Option typu), generika, makra... Nehlede na to, ze "posledni vykriky" IT mody nemusi nutne znamenat, ze jde o samoucelne vystrelky. Kdyz Go srovnam s "modernimi" jazyky jako Rust a Julia a asi i Nim, prijde mi, ze ta jeho konzervativnost je dana spise omezenosti jeho autoru, kteri se zasekli nekde v 70. letech a svoji omezenost ted vydavaji za prednost.
Tak todle je fakt opravdu mimo ... pošli stejnou stížnost Jave/C++/C#/... starej jazyk se prostě vyvíjí pomalu a JS je starej jazyk (21 let).

Nehedě na to že v ES6 už něco jak náznaky pattern matchingu jsou.
Nepřehlédl jsi se, že reakce je na jazyk GO, a nikoliv na Javascript?
No jo ty vole, fakt sem se přehlíd ...

Kit

Re:javascript
« Odpověď #33 kdy: 24. 08. 2016, 20:17:27 »
JS se mi také nejeví jako nízkoúrovňový. Podle mne má vše, co je k OOP potřebné. Skoro bych řekl, že je objektovější než Java nebo C#.
Skoro? Např. velmi pozdní vazba a silná reflexivita je v porovnání s uvedenými bastly bezkonkurenční a velmi užitečná pro snadné objektové modelování.

Napsal jsem "skoro", abych zbytečně neranil city javamana a jemu podobných. Jenže Javascript je multiparadigmatický, čímž se to mírně komplikuje. Samozřejmě ve prospěch Javascriptu.

gl

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #34 kdy: 24. 08. 2016, 21:06:25 »
Co se tyce tech prototypu - existuji nejake paterny jak s dedicnosti v JS zachazet spravne? a co si dovolit a co uz ne? ctu good parts a prijde mi to trosku zastarale vuci ES6.

Dal sem se chtel zeptat jak se orientovat v tom ktera platforma co implementuje za 'featury' - nasel sem nejaky monstrozni matrix ktery to ma vysvetlovat nicmene napr. co implementuje node.js napr. ve verzi 0.10.40 sem tak nejak nenasel - o JS se zajimam hlavne kvuli node a atomu a rad bych si vubudoval nejaky vlastni js 'aparat' jak v tom psat aby to nebylo presroubovane a tak ... mate nejake linky o nejakem subsetu platnemu k 2016? :)

A posledni otazka k te nizkourovnovosti - jak je to teda mysleno? Diik

YF

ES6 třídy jsou jen cukr nad prototypy. Narozdíl od čumila si nemyslím, že je to shit, ale není to nic převratného. To co se píše v Good Parts stále platí.

Přehled podporovaných featur v jednotlivých verzích je zde:

http://node.green/


gl

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #35 kdy: 24. 08. 2016, 21:16:29 »
Jo to máš kurva blbý, dneska přichází ES6, počkej 3-5 let a bude to bezpečný používat mainstreamově a tak dále. To znamená, piš jako kdyby ES6 nebyla ačkoli často podpora už bude. Budeš totiž ten svůj skvost chtít (měl bys) rozjet i na trochu starších enginech ...

Proč by neměl v node.js používat nové featury? Většinou se v budoucnu přechází na novější verzi a ne na starší. Není problém nainstalovat novější verzi i na starších systémech.


čumil

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #36 kdy: 24. 08. 2016, 21:33:17 »
Jo to máš kurva blbý, dneska přichází ES6, počkej 3-5 let a bude to bezpečný používat mainstreamově a tak dále. To znamená, piš jako kdyby ES6 nebyla ačkoli často podpora už bude. Budeš totiž ten svůj skvost chtít (měl bys) rozjet i na trochu starších enginech ...

Proč by neměl v node.js používat nové featury? Většinou se v budoucnu přechází na novější verzi a ne na starší. Není problém nainstalovat novější verzi i na starších systémech.
O node nejde, o browser jde. Verzi nodu je možný ovlivnit, ale user má to co chce mít a ne to co chce developer.

čumil

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #37 kdy: 24. 08. 2016, 21:36:23 »
Co se tyce tech prototypu - existuji nejake paterny jak s dedicnosti v JS zachazet spravne? a co si dovolit a co uz ne? ctu good parts a prijde mi to trosku zastarale vuci ES6.

Dal sem se chtel zeptat jak se orientovat v tom ktera platforma co implementuje za 'featury' - nasel sem nejaky monstrozni matrix ktery to ma vysvetlovat nicmene napr. co implementuje node.js napr. ve verzi 0.10.40 sem tak nejak nenasel - o JS se zajimam hlavne kvuli node a atomu a rad bych si vubudoval nejaky vlastni js 'aparat' jak v tom psat aby to nebylo presroubovane a tak ... mate nejake linky o nejakem subsetu platnemu k 2016? :)

A posledni otazka k te nizkourovnovosti - jak je to teda mysleno? Diik

YF

ES6 třídy jsou jen cukr nad prototypy. Narozdíl od čumila si nemyslím, že je to shit, ale není to nic převratného. To co se píše v Good Parts stále platí.

Přehled podporovaných featur v jednotlivých verzích je zde:

http://node.green/
Shit to je, třídy prostě do prototype based OOP nepatřej, a je jedno jestli jsou pouze imaginární a nebo real.

Jasně, můžeš to používat furt stejně protože tam žádný třídy ve skutečnosti nejsou. Jde tady spíš o tu filozofii.

javaman ((

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #38 kdy: 24. 08. 2016, 21:36:32 »
Tak má user smůlu. Ať si tam dá klidně Netscape a pak si stěžuje kde chce.

Superman

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #39 kdy: 24. 08. 2016, 21:42:36 »
Čumile, slyšel jsi už někdy třeba o Babelu? Ty kecy o shitech u tříd, které jsou přitom jenom trochu přehledněji zapsaným kódem, jsou taky dost mimo.

čumil

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #40 kdy: 24. 08. 2016, 21:46:02 »
Tak má user smůlu. Ať si tam dá klidně Netscape a pak si stěžuje kde chce.
Když to vysvětlíš zákazníkovy ...

čumil

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #41 kdy: 24. 08. 2016, 21:52:17 »
Čumile, slyšel jsi už někdy třeba o Babelu? Ty kecy o shitech u tříd, které jsou přitom jenom trochu přehledněji zapsaným kódem, jsou taky dost mimo.
... babel je limitovanej. Pokud featura potřebuje úpravu v enginu, je na to krátkej.

Ty si sám mimo ... kód s přímým využitím prototypů je přehledný taky, nesmíš ale být ignorant si o nich něco zjistit. Samozřejmě, když si každej udělá vlastní OOP systém (a že to JS umožňuje), tak je z toho bordel, to ale není chyba jazyka a ten class shit je snaha vyjít vstříct ignorantům.

javaman ((

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #42 kdy: 24. 08. 2016, 21:53:12 »
Tak má user smůlu. Ať si tam dá klidně Netscape a pak si stěžuje kde chce.
Když to vysvětlíš zákazníkovy ...

Se na něj prostě vyseru. Zkus v ČR rešit každou blbost, co si někdo vymyslí. Pokud má problém, ať jde za lopatama, co mu tam dají klidně podporu hodinek s vodotryskem. Jsou věci, které smysl mají a které ne.

Superman

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #43 kdy: 24. 08. 2016, 21:56:14 »
Čumile, limitovanej je tvůj mozek. V ES6 všechno píšu už přes dva roky. Vzbuď se.

gl

Re:Postřehy ohledně architektury JavaScriptu
« Odpověď #44 kdy: 24. 08. 2016, 21:56:35 »
Shit to je, třídy prostě do prototype based OOP nepatřej, a je jedno jestli jsou pouze imaginární a nebo real.

Jasně, můžeš to používat furt stejně protože tam žádný třídy ve skutečnosti nejsou. Jde tady spíš o tu filozofii.

Já nevím co ti na tom vadí. Výsledek je stejný a zápis je přehlednější nebo minimálně stejně přehledný. Nikdo tě nenutí to používat. Mnohem diskutabilnější mně přijdou properties. Jejich používání může kód znepřehlednit.