Problémy s JavaScript v praxi

Re:Problémy s JavaScript v praxi
« Odpověď #420 kdy: 07. 10. 2018, 22:09:44 »
]Já vůbec netuším, co by ta čísla měla vypovídat. Takže když to staticky zagreguju, tak netuším, co by ten výsledek měl říkat....Garbage in, garbage out...

Máš tam jasne vysvetlenú použitú metodológiu, aj jasne prezentované výsledky z tej štúdie vyplývajúce. Ešte aj pekne zarámované. Takže to ja nerozumiem ako tomu môžeš nerozumieť. Čo je nepochopiteľné na vete "Niektoré jazyky sú náchylnejšie na bugy ako iné, avšak rozdiel je malý"? Tak čo máš neustále s tým garbage in garbage out? Čítal si to vôbec? Poslal som ti aj článok o TS, ktorý sa na to odvoláva, od profesionála z praxou, ktorý rovnako tvrdí, že TS je fajn, ale nie nevyhnutný a je to viac hype, ako potreba. V inom príspevku som pripol aj článok od Java profi zo Sun, ktorý na JS nenadáva, je z neho nadšený. Výsledok z praxe: statické typy sú často preceňované, v tej súvislosti aj samotné TS okolo ktorého je až nezdravý hype, kladivom na chyby je TDD, nie typový systém a JS nie je zďaleka tak škaredý jazyk, ako mnohí amatéri prezentujú - profesionáli si to nemyslia. A to som presne taký prípad aj zažil, nie len o tomto čítal. A praxi tu, v tomto vlákne? Ani jeden protiargument podporený akademicky, či aspoň nejakým doloženým profesionálom. No tak som teda skúsil aspoň vygoogliť "is javascript badly designed" a ako prvé na mňa vyskočila séria článkov vysvetľujúca drvivú väčšinu vašich argumentov, v zmysle, že je viac nepochopený, ako zle navrhnutý. V ďalšom výsledku v princípe tvrdí to isté aj Crockford, aj spomína, že väčšina kníh a amatérov mu robí hanbu, nie zlý návrh. Ďalej článok od ukrajinského developera, že JS nie je zlý jazyk a kto mu robí zle meno. Zasa len lopaty. Áno, nájdeš tam aj hejt, ale zasa len od lopát. Čistý hejt, to zmená bez vysvetlenia PREČO, v čom je zlý. Proste ako to robia anonymné lopaty tu. Je zlý a hotovo. Ale ok, možno stále niečo prehliadam a preto sa rád poučím: dajte mi link na akúkoľvek zmysluplnú kritiku, prečo je zlý. Či od akademikov, či od profesionálov ktorí od neho odišli, lebo ich znechutil. Ja som nič také totiž ani len nevedel vygoogliť, zato presný opak nebol problém...


Kit

Re:Problémy s JavaScript v praxi
« Odpověď #421 kdy: 07. 10. 2018, 22:24:41 »
statický typový systém je omezující, třeba heterogení kontejnery (duck typing, jak psal andy) můžou být docela zajímavá věc, přitom v dynamických jazycích je to naprostá samozřejmost... z toho vyvozuju, že některé programy, pokud bych chtěl víceméně zachovat jejich tvar, budou citelně delší a/nebo zajímavější a zajímá mě to proto, že si chci svou weapon of choice pořádně otestovat :)

Heterogenní kontejnery se dají dělat vcelku jednoduše i ve statických typových systémech. Nic obtížného ani opruzujícího.

Re:Problémy s JavaScript v praxi
« Odpověď #422 kdy: 07. 10. 2018, 23:25:05 »
jen tak za zvědavosti, můžete někdo ukázat kus javascriptu, který be se do staticky typovaného jazyka přepsat nedal nebo jen s velkými obtížemi?

Jen tak ze zvědavosti, proč? Respektive proč by něco takového mělo existovat a zároveň k čemu by ti takový případný kód byl? Asi nechápu pointu. :)
statický typový systém je omezující, třeba heterogení kontejnery (duck typing, jak psal andy) můžou být docela zajímavá věc, přitom v dynamických jazycích je to naprostá samozřejmost... z toho vyvozuju, že některé programy, pokud bych chtěl víceméně zachovat jejich tvar, budou citelně delší a/nebo zajímavější a zajímá mě to proto, že si chci svou weapon of choice pořádně otestovat :)

Záleží, co člověk bere jako omezující. Např. v již několikrát zmíněném Haskellu zase umožňuje dost jednoduše spoustu *magic*. Imho že některé programy budou delší/kratší, snazší/složitější bude spíše věcí zvolených jazyků než třeba typovým systémem. Ale to spíš můj tip, je docela dobře možné, že se pletu. :)

eee

Re:Problémy s JavaScript v praxi
« Odpověď #423 kdy: 08. 10. 2018, 14:20:37 »
.... ve výsledku kolik v tom ošéfování statisticky naděláš chyb.

Takže konečně věcný argument - ukážeš nám statistiky! Nebo je nemáš...?

Ja ukážem. Vôbec eee nepotešia, ale stav sa, že si bude aj tak ďalej obhajovať svoje nezmysli. To vieš, ješitnosť nepustí...

https://medium.com/javascript-scene/the-shocking-secret-about-static-types-514d39bf30a3
To sis mě s někým popletl. Já tu na příkladech vysvětluji, že JS je špatně navržený jazyk. Se statickým typováním to vůbec nedávám do souvislosti. Konec konců takový statický C má také implicitní přetypování a je náchylný k chybám, byť není navržen tak nelogicky jako JS. Ale co budu vykládat někomu, kdo ani neumí porovnat null s nulou, že?

eee

Re:Problémy s JavaScript v praxi
« Odpověď #424 kdy: 08. 10. 2018, 14:26:20 »
jen tak za zvědavosti, můžete někdo ukázat kus javascriptu, který be se do staticky typovaného jazyka přepsat nedal nebo jen s velkými obtížemi?

Špatný návrh JS nepramení z toho, že nemá statické typy. To bych nedával do souvislosti.

A obecně dynamické typování neumožňuje něco, co by ve staticky typovaném jazyce nešlo naprogramovat, ale mnohé věci dělá pohodlnější, kratší, přehlednější a srozumitelnější. Čím je kód přehlednější, tím méně chyb v něm programátor udělá.


Bacsa

Re:Problémy s JavaScript v praxi
« Odpověď #425 kdy: 08. 10. 2018, 14:35:08 »
jen tak za zvědavosti, můžete někdo ukázat kus javascriptu, který be se do staticky typovaného jazyka přepsat nedal nebo jen s velkými obtížemi?

Špatný návrh JS nepramení z toho, že nemá statické typy. To bych nedával do souvislosti.

A obecně dynamické typování neumožňuje něco, co by ve staticky typovaném jazyce nešlo naprogramovat, ale mnohé věci dělá pohodlnější, kratší, přehlednější a srozumitelnější. Čím je kód přehlednější, tím méně chyb v něm programátor udělá.
Když použiješ type inference, máš kód stejně krátký a přehledný. O typech nevíš, dokud neuděláš chybu.

kozel

Re:Problémy s JavaScript v praxi
« Odpověď #426 kdy: 08. 10. 2018, 16:24:22 »
Já tu na příkladech vysvětluji, že JS je špatně navržený jazyk.

To ani nahodou. Vsechny tvoje "priklady" byli rozdrceny protiargumenty na prach, tady jde pouze o to ze JS proste nechces rozumet. A tak ti zbyva jen hejt. JS je naopak velice dobre navrzeny jazyk. To, ze ho neumis je jina pisnicka.

Pep

Re:Problémy s JavaScript v praxi
« Odpověď #427 kdy: 08. 10. 2018, 16:28:39 »
Já tu na příkladech vysvětluji, že JS je špatně navržený jazyk.

To ani nahodou. Vsechny tvoje "priklady" byli rozdrceny protiargumenty na prach, tady jde pouze o to ze JS proste nechces rozumet. A tak ti zbyva jen hejt. JS je naopak velice dobre navrzeny jazyk. To, ze ho neumis je jina pisnicka.
Uvozovkami neuděláš ze slova příklad životné substantivum. Umíš JS stejně mizerně jako češtinu?

eee

Re:Problémy s JavaScript v praxi
« Odpověď #428 kdy: 08. 10. 2018, 17:11:22 »
Já tu na příkladech vysvětluji, že JS je špatně navržený jazyk.

To ani nahodou. Vsechny tvoje "priklady" byli rozdrceny protiargumenty na prach, tady jde pouze o to ze JS proste nechces rozumet. A tak ti zbyva jen hejt. JS je naopak velice dobre navrzeny jazyk. To, ze ho neumis je jina pisnicka.

Ty drtive mezonové protiargumenty se rozpadly v prach dříve, než se dostaly ke mě. Leda že bys za protiargumen považoval oblíbené tvrzení, že je to popsané v manuálu. Jiným způsobem se nikdo ty js prasárny obhajovat nepokoušel.

nok

Circle jerk
« Odpověď #429 kdy: 08. 10. 2018, 17:19:50 »
Zhruba čas to zamknout, ne?

eee

Re:Problémy s JavaScript v praxi
« Odpověď #430 kdy: 08. 10. 2018, 17:22:35 »
jen tak za zvědavosti, můžete někdo ukázat kus javascriptu, který be se do staticky typovaného jazyka přepsat nedal nebo jen s velkými obtížemi?

Špatný návrh JS nepramení z toho, že nemá statické typy. To bych nedával do souvislosti.

A obecně dynamické typování neumožňuje něco, co by ve staticky typovaném jazyce nešlo naprogramovat, ale mnohé věci dělá pohodlnější, kratší, přehlednější a srozumitelnější. Čím je kód přehlednější, tím méně chyb v něm programátor udělá.
Když použiješ type inference, máš kód stejně krátký a přehledný. O typech nevíš, dokud neuděláš chybu.
Mylíš tím tohle a nebo ještě něco jiného?
#define let(name,value) const __typeof__ (value) name = value;
#define var(name,value) __typeof__ (value) name = value;


Jestli tohle, obávám se, že to podstatu problému neřeší. Jestli něco jiného, pouč mě, jak mohu zjednodušit, zkrátit a zpřehlednit  C program na úroveň dynamického jazyka.

Pep

Re:Problémy s JavaScript v praxi
« Odpověď #431 kdy: 08. 10. 2018, 17:42:38 »
jen tak za zvědavosti, můžete někdo ukázat kus javascriptu, který be se do staticky typovaného jazyka přepsat nedal nebo jen s velkými obtížemi?

Špatný návrh JS nepramení z toho, že nemá statické typy. To bych nedával do souvislosti.

A obecně dynamické typování neumožňuje něco, co by ve staticky typovaném jazyce nešlo naprogramovat, ale mnohé věci dělá pohodlnější, kratší, přehlednější a srozumitelnější. Čím je kód přehlednější, tím méně chyb v něm programátor udělá.
Když použiješ type inference, máš kód stejně krátký a přehledný. O typech nevíš, dokud neuděláš chybu.
Mylíš tím tohle a nebo ještě něco jiného?
#define let(name,value) const __typeof__ (value) name = value;
#define var(name,value) __typeof__ (value) name = value;


Jestli tohle, obávám se, že to podstatu problému neřeší. Jestli něco jiného, pouč mě, jak mohu zjednodušit, zkrátit a zpřehlednit  C program na úroveň dynamického jazyka.
Co to je za výblitek? Si zjisti, co to je type inference.

eee

Re:Problémy s JavaScript v praxi
« Odpověď #432 kdy: 08. 10. 2018, 19:23:54 »
jen tak za zvědavosti, můžete někdo ukázat kus javascriptu, který be se do staticky typovaného jazyka přepsat nedal nebo jen s velkými obtížemi?

Špatný návrh JS nepramení z toho, že nemá statické typy. To bych nedával do souvislosti.

A obecně dynamické typování neumožňuje něco, co by ve staticky typovaném jazyce nešlo naprogramovat, ale mnohé věci dělá pohodlnější, kratší, přehlednější a srozumitelnější. Čím je kód přehlednější, tím méně chyb v něm programátor udělá.
Když použiješ type inference, máš kód stejně krátký a přehledný. O typech nevíš, dokud neuděláš chybu.
Mylíš tím tohle a nebo ještě něco jiného?
#define let(name,value) const __typeof__ (value) name = value;
#define var(name,value) __typeof__ (value) name = value;


Jestli tohle, obávám se, že to podstatu problému neřeší. Jestli něco jiného, pouč mě, jak mohu zjednodušit, zkrátit a zpřehlednit  C program na úroveň dynamického jazyka.
Co to je za výblitek? Si zjisti, co to je type inference.
Type inference je automatická detekce typů a ohledně C jsem našel jen tohle. Takže naopak já bych doporučil vám si zjistit co to je a následně vysvětlit, jak tím u statických jazyků chcete dosáhnout flexibility dynamických typů. To mi jasné není a opakuji, rád se nechám poučit.

kozel

Re:Circle jerk
« Odpověď #433 kdy: 08. 10. 2018, 19:46:47 »
Zhruba čas to zamknout, ne?

+1 nacase zvanilum a trolum jako eee zavrit hubu

eee

Re:Circle jerk
« Odpověď #434 kdy: 08. 10. 2018, 20:21:39 »
Zhruba čas to zamknout, ne?
+1 nacase zvanilum a trolum jako eee zavrit hubu

Jeste ze te tu mame, jsi ohromny prinos pro tuto kultivovanou diskusi :-).

Citace
A pritom ti stacilo tak malo, misto plakani a psani tveho nesmyslu stacilo kouknut manual a pochopit ze operator "+" ma dvoji vyznam a javascript pouziva autocast - vsechno veci ktere pochopi bezne inteligentni jedinec. Kdyz ale nedokazes rozlisit state of art od nekonzistentniho chovani tak se vrat k C.
---
Ja JS/CS/TS delam uz snad dekadu, vim o nem snad vsechno a prekvapoval mne asi tak prvni rok jako kazdy jiny jazyk. Je navrzen uplne skvele, akorat naucit se ho poradne trva trochu dele nez u jazyku co pindaji na kde co a neumeji delit nulou  :)
---
Jenze kdyz je jeden z operandu string tak + neni scitani ale concat. Ale to zabednencum nevysvetlis, budou pindat, ze to ma hazet exception :D
---
Vazne? tak to pak nejsi programator.
---
Ja myslel, ze se tady bavim s programatory, kteri rozlisuji co je syntax a runtime error.
---
Hura doslo na invektivy, takze zabednenym "takyprogramatorum" uz zrejme dochazeji argumenty. Jen tak dal, vyzpovidejte se a ukazte svoje skutecne ja aby jsme vsichni videli co za paka se tu snazi shazovat tak skvely jazyk ako JavaScript.
---
Nebudu krmit trola, ktery se tu snazi argumentovat nesmysly, ze "silne typovane systemy" odstini lidske chyby.
---
To ani nahodou. Vsechny tvoje "priklady" byli rozdrceny protiargumenty na prach, tady jde pouze o to ze JS proste nechces rozumet. A tak ti zbyva jen hejt. JS je naopak velice dobre navrzeny jazyk. To, ze ho neumis je jina pisnicka.
---
+1 nacase zvanilum a trolum jako eee zavrit hubu