Potom prídem na nejaké bezvýznamné fórum, kde anonymne každý druhý 20 ročný murár s fušovaním do programovania ako s voľnočasovou aktivitou sa cíti povolaný kritizovať nejaký jazyk. A to nie preto, žeby ho v dobe jeho vzniku vedel za daných podmienok navrhnúť lepšie. Nevedel. Ani jeden jediný z tých kritikov. Tak prečo potom kritizujú?
Protože otázka byla, jaké jsou dnes praktické problémy JS. Ne, zda někdo z přítomných byl v té době s tehdejšími znalostmi schopen něco podobného navrhnout.... Nemáš trochu problém udržet téma (a myšlenku)?
Prvý: ješitnosť. Keď murár konečne dogooglil, že najviac hype je okolo Go, tak sa s vypätím posledných síl po šichte naučil na ubytovni pri sviečke aspoň základný syntax Go a ako prvé sa nerozhodol niečo naprogramovať, nemá na čom, notebook by mu zo skrine ukradol jeden z desiatich ukrajinských spolubývajúcich, no tak aspoň hejtuje z mobilu na fórach každý jazyk, ktorý nemá rovnaký syntax ako Go.
Go má skvěle udělaný runtime s non-blocking IO. Což je to, k čemu se v tom článku vyjadřoval... nebo snad máš pocit, že Go tohle zrovna dobře udělané nemá?
Druhý možný dôvod nie je o nič lepší: nedostatok znalostí / praxe. Kuchár, ktorý sa časom naučil programovať, typicky v PHP, ale tam aj končí jeho rozhľad. Nevie, že existuje mnoho jazykov postavených na rôznych paradigmách a nikdy sa nedelia na dobré a zlé, ale podľa účelu za ktorým vznikli a podľa vhodnosti či nevhodnosti na ten či onen typ úlohy. Bez tohoto potrebného nadhľadu a hlbšej znalosti teórie programovania tak delia jazyky jediným spôsobom: na dobré a zlé. Presnejšie na ten jediný čo vedia a "tie ostatné".
Několik lidí tady má velké zkušenosti třeba s Haskellem a při té příležitosti se v podstatě nevyhneš tomu občas nějaký ten jazyk navrhnout a k tomu si nějaký ten interpret napsat.... mně naopak připadá, že člověk, který tohle obsáhne, začne mít vcelku dobrou představu o tom, co je dobré a zlé, proč jsou statické typy dobré, proč jsou některé věci prasárny a proč by je jazyk vůbec neměl povolovat....
Ďalším dôvodom je nedostatok kritického myslenia: programátor, ktorý sa naučil programovať hlavne z tutoriálov na nete a tak čokoľvek, čo nájde na nete napísané, považuje za slovo božie. Vlastné názory, premýšľanie nad tématikou, to je mimo neho, to je nad jeho mentálne kapacity a ak sa k niečomu vyjadrí, najskôr si vygoogli cudzie argumenty a potom si sem len nakopíruje, či nalinkuje.
Tak nějak si říkám, jestli problémem nebude Tvoje ego...
Ďalšie možné dôvody sa mi nechce písať, stačí ak si uvedomíte jedno: ak aj máš akademický background, nestrápňuj sa kritikou JS, lebo v danej dobe, za daných podmienok, za danej úrovne techniky a teórie, by si JS navrhol lepšie. A uvedom si, že to vedia aj vývojári JS a neopravili dané problémy len preto, aby ostal spätne kompatibilný.
Když ty máš pocit, že to je pořád o egu, jestli je někdo lepší než ty. Ale otázka byla věcná - má dneska, s tím, co dneska víme a očekáváme, JS nějaké praktické problémy? A má - je to z dnešního pohledu naprosto tragický jazyk. A byl i z tehdejšího pohledu, pokud vím, tak oni prostě potřebovali navrhnout "nějaký" jazyk, tak to nějak spatlali a nikdo netušil, že to bude mít takový úspěch.
Jinak v tehdejší době vznikl Erlang, který by klidně místo JS v tom prohlížeči běžet mohl a návrh má mnohem lepší (protože si s tím v té době s tehdejší teorií a technikou dali práci, protože věděli, že chtějí mít dobrý jazyk).
Ale aby som aj ja len nekritizoval, tu je návod ako na JS pre menej bystrých: nainštaluj si VS Code, nainštaluj si Flow, maj zapnutý Linter a nastav aby Ti Flow zbehol kód pri ukladaní a každý kód začni dvoma riadkami:
Ano, JS žádné problémy nemá, ale nainstalujte si statický type checker....