Problémy s JavaScript v praxi

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Problémy s JavaScript v praxi
« Odpověď #390 kdy: 06. 10. 2018, 15:30:58 »
I když ty osobně nepoužiješ new String(), může ti to do programu lézt z řady použitých knihoven

chci vidět takovou knihovnu. Podle mě to neprojde CI.


BoneFlute

  • *****
  • 2 046
    • Zobrazit profil
Re:Problémy s JavaScript v praxi
« Odpověď #391 kdy: 06. 10. 2018, 18:33:42 »
Rád bych zmínil můj pohled na věc.

Nejsem si úplně jistý, co vlastně autor chce slyšet. Pokud je nutností se naučit všechny vlastnosti a výjimky toho jazyka, tak není žádný jazyk špatný. Ani asembler.

Skutečnost, že se tu občas někdo naváží do programátorů jako do lopat, to taky není tak úplně jednoznačný. Přeci jen je rozdíl když si musím namáhat hlavu, abych ošéfoval všechny vlastnosti a situace, a podrazy toho jazyka (javascript, C, python) a pak doufal, že jsem byl opravdu tak dobrej, a na nic nezapoměl...

... a nebo si musím namahat hlavu, abych přesvědčil kompilátor, že má udělat to co chci, a on na mě furt řve, že tohle nejde, a tohle nejde, a že to musím ještě takhle jinak - a tu všechnu buzeraci kůli tomu, aby kompilátor minimalizoval riziko špatného programu (typescript, rust, haskell).

Tohle jsem si uvědomil při mém studiu jazyka Rust. On to není žádný jednoduchý jazyk. Naučit se ho chce trošku mentální námahy. Ale ta námaha má smysl. Námaha vložená do programu v C mi přijde naprosto zbytečná, protože dělám to, co by měl dělat stroj.
« Poslední změna: 06. 10. 2018, 18:35:55 od BoneFlute »

Pep

Re:Problémy s JavaScript v praxi
« Odpověď #392 kdy: 06. 10. 2018, 18:38:38 »
Rád bych zmínil můj pohled na věc.

Nejsem si úplně jistý, co vlastně autor chce slyšet. Pokud je nutností se naučit všechny vlastnosti a výjimky toho jazyka, tak není žádný jazyk špatný. Ani asembler.

Skutečnost, že se tu občas někdo naváží do programátorů jako do lopat, to taky není tak úplně jednoznačný. Přeci jen je rozdíl když si musím namáhat hlavu, abych ošéfoval všechny vlastnosti a situace, a podrazy toho jazyka (javascript, C, python) a pak doufal, že jsem byl opravdu tak dobrej, a na nic nezapoměl...

... a nebo si musím namahat hlavu, abych přesvědčil kompilátor, že má udělat to co chci, a on na mě furt řve, že tohle nejde, a tohle nejde, a že to musím ještě takhle jinak - a tu všechnu buzeraci kůli tomu, aby kompilátor minimalizoval riziko špatného programu (typescript, rust, haskell).

Tohle jsem si uvědomil při mém studiu jazyka Rust. On to není žádný jednoduchý jazyk. Naučit se ho chce trošku mentální námahy. Ale ta námaha má smysl. Námaha vložená do programu v C mi přijde naprosto zbytečná, protože dělám to, co by měl dělat stroj.
Mentální námaha se vyplatí v jazyce jako Idris nebo Agda, které mi zaručí korektnost. U JS to je spíše opruz.

BoneFlute

  • *****
  • 2 046
    • Zobrazit profil
Re:Problémy s JavaScript v praxi
« Odpověď #393 kdy: 06. 10. 2018, 18:45:17 »
Rád bych zmínil můj pohled na věc.

Nejsem si úplně jistý, co vlastně autor chce slyšet. Pokud je nutností se naučit všechny vlastnosti a výjimky toho jazyka, tak není žádný jazyk špatný. Ani asembler.

Skutečnost, že se tu občas někdo naváží do programátorů jako do lopat, to taky není tak úplně jednoznačný. Přeci jen je rozdíl když si musím namáhat hlavu, abych ošéfoval všechny vlastnosti a situace, a podrazy toho jazyka (javascript, C, python) a pak doufal, že jsem byl opravdu tak dobrej, a na nic nezapoměl...

... a nebo si musím namahat hlavu, abych přesvědčil kompilátor, že má udělat to co chci, a on na mě furt řve, že tohle nejde, a tohle nejde, a že to musím ještě takhle jinak - a tu všechnu buzeraci kůli tomu, aby kompilátor minimalizoval riziko špatného programu (typescript, rust, haskell).

Tohle jsem si uvědomil při mém studiu jazyka Rust. On to není žádný jednoduchý jazyk. Naučit se ho chce trošku mentální námahy. Ale ta námaha má smysl. Námaha vložená do programu v C mi přijde naprosto zbytečná, protože dělám to, co by měl dělat stroj.
Mentální námaha se vyplatí v jazyce jako Idris nebo Agda, které mi zaručí korektnost. U JS to je spíše opruz.
Šak to píšu.

A Idris či Agda je zbytečnej extrém. Stačí cokoliv, co aspoň trochu spolupracuje.

Ale obhajovat Javascript, že je super, když vlastně nijak nepomáhá a všechno si to vývojář musí ošéfovat sám?

eee

Re:Problémy s JavaScript v praxi
« Odpověď #394 kdy: 07. 10. 2018, 04:54:04 »
Ale obhajovat Javascript, že je super, když vlastně nijak nepomáhá a všechno si to vývojář musí ošéfovat sám?
Vždycky si to musíš ošéfovat sám. Jde jen o to, nakolik je to v kterém jazyce pracné, na co všechno musíš dávat pozor a ve výsledku kolik v tom ošéfování statisticky naděláš chyb.


Re:Problémy s JavaScript v praxi
« Odpověď #395 kdy: 07. 10. 2018, 10:12:54 »
.... 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áš...?

Re:Problémy s JavaScript v praxi
« Odpověď #396 kdy: 07. 10. 2018, 11:53:57 »
.... 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

andy

Re:Problémy s JavaScript v praxi
« Odpověď #397 kdy: 07. 10. 2018, 12:15:18 »
.... 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
Co asi vyjde při porovnání diametrálně odlišných projektů napsaných v jiných jazycích různým množstvím lidí...... garbage in garbage out? Pro změnu vzít X programátorů a říct jim "naimplementujte si tenhle velký projekt ve svém jazyce"... Jak je těžké psát vůbec dobré testy (QuickCheck...), jak je těžký refaktoring...

Zrovna teď jsem zvažoval částečný přechod na kotlin v jednom androidím projektu - umí to součtové typy a líp to pracuje s null hodnotama. To, že pak NullPointerException nemusím řešit a že mi kompiler zařve při neošetřených pattern matchích je fakt. Tvrzení, že to nemá žádný vliv na množství bugů při stejné dodané energii....mi prostě připadá silně nepravděpodobné.

Re:Problémy s JavaScript v praxi
« Odpověď #398 kdy: 07. 10. 2018, 12:28:04 »
.... 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
Co asi vyjde při porovnání diametrálně odlišných projektů napsaných v jiných jazycích různým množstvím lidí...... garbage in garbage out? Pro změnu vzít X programátorů a říct jim "naimplementujte si tenhle velký projekt ve svém jazyce"... Jak je těžké psát vůbec dobré testy (QuickCheck...), jak je těžký refaktoring...

Zrovna teď jsem zvažoval částečný přechod na kotlin v jednom androidím projektu - umí to součtové typy a líp to pracuje s null hodnotama. To, že pak NullPointerException nemusím řešit a že mi kompiler zařve při neošetřených pattern matchích je fakt. Tvrzení, že to nemá žádný vliv na množství bugů při stejné dodané energii....mi prostě připadá silně nepravděpodobné.

To je práve ten problém. Ono ti len na prvý pohľad PRIPADÁ nepravdepodobné, ale pritom opak je pravdou. Je to akademický výskum na tému vplyv statických typov na hustotu výskytu chýb. A jasným výsledkom je, že je tam istý vplyv, ale malý. Faktom tak ostáva, že tu prítomný diskutujúci sa dopúšťajú dokola tej istej chyby: preceňujú vplyv statických typov. A faktom dva ostáva: reálny "problem solver", či pri statických, či pri dynamických jazykoch je TDD approach. Bodka.

andy

Re:Problémy s JavaScript v praxi
« Odpověď #399 kdy: 07. 10. 2018, 12:36:28 »
To je práve ten problém. Ono ti len na prvý pohľad PRIPADÁ nepravdepodobné, ale pritom opak je pravdou. Je to akademický výskum na tému vplyv statických typov na hustotu výskytu chýb. A jasným výsledkom je, že je tam istý vplyv, ale malý. Faktom tak ostáva, že tu prítomný diskutujúci sa dopúšťajú dokola tej istej chyby: preceňujú vplyv statických typov. A faktom dva ostáva: reálny "problem solver", či pri statických, či pri dynamických jazykoch je TDD approach. Bodka.
Aha, takže OPAK pravdou není. Je pravdou přesně to, co říkám, akorát se bavíme o tom, do jaké míry...

Jinak mám osobně i proti tomu akademickému výzkumu výhrady. Vezmeš nějakou netriviální úlohu, která je ale testovatelná, a pak řekneš skupině programátorů, aby to v různých jazycích napsali.

No tak ta skupina programátorů udělá v podstatě TDD a na konci se bavíme akorát tak o tom, kdo byl schopen si napsat lepší testy, který mu odchytili ty jeho bugy...? Fakt máš pocit, že to něco říká o real-world projektech..?

Re:Problémy s JavaScript v praxi
« Odpověď #400 kdy: 07. 10. 2018, 12:54:50 »
No tak ta skupina programátorů udělá v podstatě TDD a na konci se bavíme akorát tak o tom, kdo byl schopen si napsat lepší testy, který mu odchytili ty jeho bugy...? Fakt máš pocit, že to něco říká o real-world projektech..?

Čo to splietaš? Ten výskum bol robený na real world projektoch. Mám uveriť spochybneniu jeho výpovednej hodnoty na základe DOJMU anonymného príspevku na fóre? Alebo kam tým mieriš? Čo píšeš nedáva zmysel.

andy

Re:Problémy s JavaScript v praxi
« Odpověď #401 kdy: 07. 10. 2018, 13:23:26 »
 
No tak ta skupina programátorů udělá v podstatě TDD a na konci se bavíme akorát tak o tom, kdo byl schopen si napsat lepší testy, který mu odchytili ty jeho bugy...? Fakt máš pocit, že to něco říká o real-world projektech..?
Čo to splietaš? Ten výskum bol robený na real world projektoch. Mám uveriť spochybneniu jeho výpovednej hodnoty na základe DOJMU anonymného príspevku na fóre? Alebo kam tým mieriš? Čo píšeš nedáva zmysel.
Těch výzkumů je několik, jeden z nich byl i to, že vzali tu samou úlohu a dali ji naprogramovat lidem v různých jazycích a pak se koukali na výsledek.
Nicméně to, co myslíš ty, je asi tohle: http://web.cs.ucdavis.edu/~filkov/papers/lang_github.pdf

Asi bych potřeboval vysvětlit, proč si nemyslíš, že to je Garbage In - Garbage out....  Obzvláště v oblasti "defect density" mi přijde, že to prostě bude porovnávání jablek s hruškama....

nok

Re:Problémy s JavaScript v praxi
« Odpověď #402 kdy: 07. 10. 2018, 13:42:59 »
Být to pět let zpátky, tak bych ten hate na JavaScript chápal. Dneska už to ale dá opravdu práci, vyhrabat nějaký faktický, ne jen teoretický problém. A v budoucnu to bude ještě pracnější - JS komunita nasadila takové tempo, že většina ostatních jazyků oproti tomu působí jako zakleté království. To je sice možno brát i jako mínus, za mě je to ale jasně plus.

Re:Problémy s JavaScript v praxi
« Odpověď #403 kdy: 07. 10. 2018, 13:47:33 »
No tak ta skupina programátorů udělá v podstatě TDD a na konci se bavíme akorát tak o tom, kdo byl schopen si napsat lepší testy, který mu odchytili ty jeho bugy...? Fakt máš pocit, že to něco říká o real-world projektech..?
Čo to splietaš? Ten výskum bol robený na real world projektoch. Mám uveriť spochybneniu jeho výpovednej hodnoty na základe DOJMU anonymného príspevku na fóre? Alebo kam tým mieriš? Čo píšeš nedáva zmysel.
Těch výzkumů je několik, jeden z nich byl i to, že vzali tu samou úlohu a dali ji naprogramovat lidem v různých jazycích a pak se koukali na výsledek.
Nicméně to, co myslíš ty, je asi tohle: http://web.cs.ucdavis.edu/~filkov/papers/lang_github.pdf

Asi bych potřeboval vysvětlit, proč si nemyslíš, že to je Garbage In - Garbage out....  Obzvláště v oblasti "defect density" mi přijde, že to prostě bude porovnávání jablek s hruškama....

Nerozumiem čo potrebuješ vysvetliť, a už vôbec nie prečo. Ponúknem ti štatistiku z real world podmienok, čo si presne chcel, ty zaargumentuješ výskumom za umelých podmienok, nie z real world, a ešte aj chceš z neznámeho dôvodu niečo vysvetliť. Nerozumiem, ale OK, napíš ktorá konkrétna časť toho pdf ti nieje jasná, alebo o ktorej konkrétne časti pochybuješ a na základe čoho pochybuješ.

andy

Re:Problémy s JavaScript v praxi
« Odpověď #404 kdy: 07. 10. 2018, 14:07:56 »
Nerozumiem čo potrebuješ vysvetliť, a už vôbec nie prečo. Ponúknem ti štatistiku z real world podmienok, čo si presne chcel, ty zaargumentuješ výskumom za umelých podmienok, nie z real world, a ešte aj chceš z neznámeho dôvodu niečo vysvetliť. Nerozumiem, ale OK, napíš ktorá konkrétna časť toho pdf ti nieje jasná, alebo o ktorej konkrétne časti pochybuješ a na základe čoho pochybuješ.
Máš 2 projekty, které se každý týká něčeho jiného, jsou napsané v jiném jazyce. Jeden má silné typy, jeden má dynamické typy. Řekněme, že na SLOC jsou srovnatelné. V jednom najdeš v issue trackeru víc bugů než v druhém. Mně připadá, že z toho rozdílu ohledně náchylnosti k bugům daného paradigmatu nejde usoudit prakticky nic. Ti statistikové to dělají. Tak to zkus obhájit.

Citace
Být to pět let zpátky, tak bych ten hate na JavaScript chápal. Dneska už to ale dá opravdu práci, vyhrabat nějaký faktický, ne jen teoretický problém. A v budoucnu to bude ještě pracnější - JS komunita nasadila takové tempo, že většina ostatních jazyků oproti tomu působí jako zakleté království. To je sice možno brát i jako mínus, za mě je to ale jasně plus.
Všechny jazyky jdou dopředu, nové vlastnosti v Javě, C++, pythonu... - type inference, lepší generika atd. A v javascriptu se víc a víc používá Typescript - což je ale jiný jazyk.