Vlákno názorů k článku Underscore aneb další knihovna pro funkcionální programování v JavaScriptu od XMen - No ja to poviem asi takto. Moda, kde...

  • Článek je starý, nové názory již nelze přidávat.
  • 8. 3. 2016 23:47

    XMen (neregistrovaný)

    No ja to poviem asi takto. Moda, kde sa zacal pouzivat javascript a to pomocou roznych kniznic je uplna nocna mora. Kazde zhruba 1-2 roky sa objavi nejaka super uzasna JS kniznica a vela blbcov ju zacne pouzivat. Kedze ich je vela zacnu ju pouzivat aj ostatny. Samozrejme kniznica sa po 2-3 rokoch zivotnosti prestane pouzivat, lebo uz nebude v mode alebo sa prestane supportovat (alebo moj oblubeny sposob ze sa rozforkuje). To co dnes tieto kniznice urobili je vlastne chaos. Co projekt, to ina kniznica. Tu sa samozrejme musite ucit a to znamena ze stale riesite defacto tie iste problemy. Navyse kod, ktory sa vytvori je z dlhodobeho hladiska neudrzatelny a migracia rozsiahlych aplikacii je prakticky nemozna (hlavne z financneho hladiska). Tento chaos nema konca. Stale sa vytvaraju nove a nove kniznice a riesia sa stale tie iste problemy, ktore sa ale defacto nikdy nedoriesia. Jedine co zostava je verit, ze sa presadi standard webassembly a posle cely svet JavaScriptu do hrobu. Bolo by super zas programovat v JAVE alebo .NETe aj na klientovi a neriesit, ci o 3 roky budem moct pouzivat stale ten isty jazyk alebo kniznicu. Treba navrat k mainstreamovym nastrojom a neriesit donekonecna rovnaku problematiku.

    Go to hell JS.

    Pozn. robil som v knizniciach: underscore,knoc­kout,extjs,ken­do,backbone,an­gular, angular2, a ine wtf kniznice a to za posledny rok a pol. Osobne si myslim, ze mi to ubralo aspon 5 rokov mojho zivota ak nie viac a zacinam trpiet syndromom vyhorenia. Ako keby som sa nedokazal dostat za ten cas inam. Mam uz dost tychto super funkcionalnych programovacich jazykov ako jsF*ck (za * dostadit u) a jeho esoterickych inkarnacii v podobne "super genialnych" kniznic.

  • 9. 3. 2016 12:03

    Pavel Tišnovský
    Zlatý podporovatel

    Tak s tím se dá částečně souhlasit, JS svět je skutečně "neintegrovaný", což ale nemusí být vždycky na škodu. Já třeba osobně nemám až tak moc problémů s tím, že se nějaká knihovna přestane vyvíjet. Jako co se stane? To zrezaví nebo se z ní stane nějaká zombie, popřípadě to rozbije počítač? Prostě budeš mít ve svém projektu starou knihovnu no, však stejně to většinou řeší jen client-side, kterému nikdo nevěří a na server-side si všechno znovu a znovu ověřuje.

    A z projektů postavených na Javě, na kterých jsem dělal, to teprve byly staré knihovny a verze JVM. Kupodivu dost kódu, s kterým se všichni nepřímo setkáváme, jede pořád na 1.4.2, některé na 1.5, ti jo dobří přešli na Javu 6 (a to tady máme osmičku).

    PS: já nejsem skalní zastánce JS, spíš naopak, ale ten jazyk se kromě jiného prosadil i velkou elasticitou a tím pádem i mnoha způsoby, jak věci řešit. COBOL z toho nikdy nebude :D

  • 10. 3. 2016 0:48

    XMen (neregistrovaný)

    No mrtva kniznica moze znamenat hlavne nebezpecie. Co ak sa tam najdu nejake problemy? Kazdy dobre vie, ze na rozumnej platforme (java alebo .net) dnes defacto neexistuju sql injection utoky, pretoze to mali osetrene hned. Zato take PHP weby su uplna chutovka. Pri JS utokoch je to vsak ovela horsie. Preto ak sa vyskytne nejaky problem na mrtvej kniznici je to vyslovene na vas ako sa k tomu postavite a ci ten problem vobec objavite skor nez niekto druhy. Dalsi problem je to, ze JS kniznice maju velmi kratku nazvyme to "moralnu zivotnost". Kazdy ma pocit ze dalsi projekt musi urobit v inej kniznici, ktora je prave v mode. V neposlednom rade ide aj o podporu roznych features, ktore dostanete v supportovanej kniznici ale v mrtvej je to uz vsetko na vas, cim sa vyrazne predrazuje projekt ako penazne tak aj casovo. Mozno by nebolo od veci, keby sa zacali ludia zamyslat nad tym, kolko tento chaos predrazuje samotne projekty. A taktiez aj nad tym, cim su prinosne nove kniznice, ktore robia iba veci inak ale v podstate riesia to iste alebo ich charakter ich predurcuje k dobremu rieseniu iba pri niektorych situaciach.

    Co sa tyka javy tam vidim vyhodu v tom, ze vas nikto nenuti pouzivat features z java 8 alebo 7 alebo 6 a dokonca aj 5. Je to cisto na programatorovy ci to pouzije ale hlavne je to, ze sa dodrziava kompatibilita. Prechod z verzie java 1.2 na java 8 je bezproblemovy a teda aj 19 rocne aplikacie je mozne dalej upravovat. to je velka sila javy. To pri mrtvych JS knizniciach robit nemozte

    PS: To ze ukazal vela moznosti akymi riesit problemy nemusi byt dostatocne, ked sa stale riesia tie iste. Navyse maloktora kniznica ich riesi vsetky a preto sa ludia uchyluju k roznym ohybaniam kniznic a ako som uz vela krat pisal, defacto riesia na kazdej kniznici tie iste problemy.

  • 10. 3. 2016 10:20

    Pavel Tišnovský
    Zlatý podporovatel

    Jo já souhlasím, akorát prostě svět není ideální no :-) Dopředu se dá těžko říct, co a jak bude udržované, samozřejmě JS komunita je (pravděpodobně, ale já jsem o tom pevně přesvědčen) složená z mladších vývojářů, a ti nemají problém něco forknout, vytvořit novou knihovnu, starou zahodit atd. Tak to prostě je, navíc samotný JS je v základu dodáván jen s pár funkcemi, což to dělá ještě horší (tu funkcionalitu je zapotřebí nějak přidat). To, že kdyby se namísto JS prosadil jiný jazyk a vše mohlo být jinak, je pěkná debata, je to tak, ale co nadělat :-) [jestli si dobře pamatuji, tak jediní dva trošku vážnější konkurenti byli TCL a VBScript, takže to možná až tak nejhůř nedopadlo].

    Já tedy vidím obecně větší problém v home made knihovnách, protože i pro starou JS knihovnu se dá něco sehnat, někdo to napsal, udělal docku atd., prostě se už v minulosti stalo něco, co lidi přesvědčilo o tom tu knihovnu použít. Pro home made (DYI) knihovny většinou není docka, testy nic (a to si sám sypu popel na hlavu, párkrát jsem si něco zbytečně implementoval sám a potom si to taky udržoval :/).

  • 10. 3. 2016 10:29

    Pavel Tišnovský
    Zlatý podporovatel

    Jinak k Javě: jsem psal, že hodně kódu "jede" na 1.4.2, 5.0 či 6.0. Myslel jsem tím JVM, takže ti lidi z mnoha různých (někdy dost divných) důvodů musí používat starší JVM. I přes snahu vývojářů a QA JVM (kam jsem taky pár let patřil :-) totiž není kompatibilita stoprocentní a pro echt business aplikace prostě firmy raději zaplatí za udržování starší JVM než riskovat nějaké problémy. Je fakt, že v API se nejvíce změnilo mezi 7 a 8, jinak jak píšeš je to zdánlivě bez problémů, ale chování je někdy trošku odlišné, většinou různé corner cases. Ale tomu se prostě nejde u tak velkého nástroje vyhnout.

    Btw co se týče verzí - je zajímavé se na to zeptat lidí udržujících Pythoní balíčky a projekty. Ti jsou taky "nadšení" z toho, že mají Python 3.x a Python 2.x, takže 2x tolik práce.

  • 10. 3. 2016 20:44

    atarist (neregistrovaný)

    Myslis JS na klientovi (prohlizec) nebo na serveru? Na klientovi ve vysledku moc moznosti bohuzel neni, na server bych to asi nedaval, tady si myslim ze reseni postavene na Jave je porad velmi robustni (akorat ne tak frikulinske :)

  • 11. 3. 2016 15:21

    lol (neregistrovaný)

    odporucam menej hejtovat a viac sa venovat studiu gramatiky. Pisat pridavne mena v mnoznom cisle s tvrdym "y" moze este tak piatak na zakladnej skole alebo clovek s IQ do 60.

  • 11. 3. 2016 19:14

    ivan (neregistrovaný)

    Doporučuji věnovat se alespoň okrajově tématu. I když s názorem hejtovacího příspěvku moc nesouhlasím, byl k tématu a nemyslím, že bych něco kvůli y/i špatně pochopil (možná má slovenština v gramatice podobně zbytečná a hloupá pravidla jako čeština).