Portál AbcLinuxu, 28. května 2025 21:51
Priateľu, keby to celé Mozzila uzavrela, tak by sa to zlepšilo?Nejspíš ne.
Hneď od tejto minúty začnem používať prehliadač ktorý dokáže to čo FF a bude mať všetko otvorenejšie a slobodnejšie.Já jsem nepsal, že znám lepší prohlížeč. Osobně si myslím, že pro dnešní JavaScriptem vykreslované stránky prostě dobrý prohlížeč udělat nelze.
Kým sú technológie v takom stave v akom sú budú sa písať aplikácie tak blbo ako sa píšu. Žiaľ.
Napríklad také cookies. Keby document.cookie nenavrhovala banda idiotov nikto by nemal dôvod používať veľkú knižnicu kvôli cookies. Stačilo by keby existovali funkcie document.cookie.set a document.cookie.get, ale nie, niekto bol idiot a navrhol tak, že document.cookie je string. Keď nastavím cookie browser to musí parsovať. Keď chcem zmeniť hodnotu cookie musím parsovať čo je v document.cookie. Namiesto toho aby sa urobilo jednoduché rozhranie tu každý kto používa cookies musí buď písať funkcie na blbé parsovanie cookies a skladanie cookie stringu, alebo použije rovno knižnicu. To nie je ojedinelý prípad.
Také queryBySelector museli mať prehliadače interne implementované od dôb kedy existuje CSS. Prečo nikoho nenapadlo sprístupniť selectory od začiatku, ale museli kvôli tomu vzniknúť knižnice ako jQuery.
Vlastne všetko je celé zle. Samotný jazyk bol od začiatku katastrofálny. Ako môže niekto normálny urobiť funkcionálny jazyk, ktorý nemá utility ako map, filter, all, some ...? Ešte aj obyčajný Array.prototype.forEach je blbý pretože je definovaný pre Array. Ak chcem iterovať cez HTMLCollection (napr. document.getElementsByTagName) musím namiesto kolekcia.forEach volať Array.prototype.forEach.call(kolekcia, function(element) {... Veľa ľudí sa sťažuje na pythonovske funkcie ako len, iter ... ale keď zavolám iter na kolekcii tak aspoň funguje pretože kolekcia musí implementovať protokol iterátora. Namiesto toho js zvolil iný spôsob pri ktorom musí byť forEach definovaný pre každý typ kolekcie a to je mnoho duplicitného kódu ktorý nikto normálny neimplementuje a preto sa musí používať Array.prototype.forEach (no teoreticky mohol existovať Iterable.prototype a ten mohli mať v prototype chaine všetky kolekcie od Array až po HTMLCollection). Namiesto toho vznikli knižnice, ktoré tento bordel obaľujú do vlastných funkcií.
S týmto názorom by som sa moc nevyťahoval. Tunajší webisti by ma najradšej ukameňovali keď tvrdím, že web by mal fungovať aj s vypnutým js.
Ak ide o kvalitu jazyka ... v dobrom vysokoúrovňovom jazyku by človek nemal len tak urobiť nekonečnú slučku. V jazykoch ako javascript, kde nie je poriadne implementovaný forEach sa to stane podstatne jednoduchšie.
Najlepšie sú samozrejme tie weby, ktoré sa ani poriadne nenačítajú ak mám zablokované google analytics. Slučka sa nám pomaly zaťahuje, koniec blokovania reklamy, facebooku, googlu ... sa blíži.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.