Angular.js alternatíva rubrika: Programování: JavaScript

14 Mlocik97
položil/-a 29.10. 13:25
 
upravil/-a 29.10. 13:36

Zdravím, keďže Angular.js je pred koncom podpori tak by som chcel preň alternatívu, pozeral som teda na Angular ale to je úplne iný framework (i když možno i ten by mohol vyhovovať, neviem či je najlepšia voľba), pozeral som na VueJS aj Svelte ale tie ešte neviem či mi vyhovujú taktiež. Čo by som potreboval sú featury:

  • niečo ako controlér v Angular.js (teda možnosť získať dáta z JS objektu priamo direktívov v HTML, bez používania selectora v JS alebo globálnych premenných pre binding)
  • routing s podporou volania controlérov aj HTML5 mód
  • template systém podobný AngularJS (vrátane templateURL v routingu (alebo aj v kontroléroch)), žiadny JSX
  • možnosť dynamickej manipulácie s definíciou routingu a controlérov v JS.
  • podpora one-time, one-way a two-way data bindingu
  • nejaká podpora integrácie s PWA, service-workerom s multicashom
  • možnosť používať aj nepoužívať virtual DOM (alebo aj shadow DOM), teda aj podpora preň (není to zas tak doležité, ale bolo by fajn)
  • ideálne podobná syntax Angular.js
  • filtre a Sanitizing (myslím že je to samozrejmosť)
  • podpora pre prácu s cookies, localstorage, sessionstorage a pod. (niečo čo by zjednodušilo prácu s ním)
  • Rest funkcie, podpora CORS (myslím že je to samozrejmosť)
  • zjednodušená práca s JSON a XML (myslím že je to samozrejmosť)
  • niečo ako selector (queryString) v jQuery (myslím že je to samozrejmosť)
  • nejaké bežnejšie používané funkcionality z jQuery a Angular.JS pre manipuláciu s DOM (aj virtualDOM)
  • bez nutnosti zmeny na server-side, teda čisto len client-side
odkaz Vyřešeno
16 harrison314
odpověděl/-a 29.10. 14:09
 
upravil/-a 29.10. 14:11

Z danych poziadaviek vyplyva Angular.
A teoreticky Blazor (zvlada toho ovela viac, a robi sa s nim lepsie ako z Angularom), ale ten mnohym nebude po chuti z nabozenskych dovodou plus je este par mesiacov v preview.

Komentáře

  • Mlocik97 : Blazor je C# ne? To určite teda nechcem. Inak i ja to vidím na zatial na Angular 29.10. 14:18
  • Taco : Náboženské důvody? 29.10. 15:42
  • Mlocik97 : Ne, len mám alergiu na OOP, Java, C#, PHP, vždycky když ťukám do klávesnice takýto kód, tak sa mi urobia vyrážky na prstoch 29.10. 18:22
  • Kit : Myslel jsem si, že hledáš client-side řešení - uvedené jazyky jsou pro servery a desktop. OOP je skvělé, když ho umíš používat. 29.10. 19:29
  • kohven : Ohledně alergie na OOP: Nevím, jak moc vážné to je, ale pokud hodně, tak na Angular 2+ pozor. V něm se dost počítá s TS a ten je poměrně dost OOP (dědění, interfaces, metody, overriding, atd...). Pořád je to sice nadmnožina JS, takže nehty by slézt neměly, ale stejně bych si dal pozor. 29.10. 19:31
  • Mlocik97 : Viem že Angular je hodne na TypeScript, to je snaď jediné čo ma odrádza. Preto stále zvažujem aj ďalšie možnosti, práve si na nete čítam o Svelte a snažím sa s ním oboznámiť aby som vedel či mi bude vyhovovať. VueJS no ten nemá templatovací systém aký by som potreboval a aj pár ďalších vecí mi v ňom chýba, jasné je to možné dopísať... škoda že Angular.js je na konci s podporov, podľa mňa je to hodne dobrý framework. 29.10. 19:57
  • kohven : Škoda to rozhodně je. Jsem v podobné situaci. Rozhodl jsem se přejít na Angular, ale bude to hodně bolet. V Angular.js máme přibližně 4 člověkoroky vývoje a vůbec si nedovedu představit, jak jde tohle přepsat v nějakém akceptovatelném čase. Máme sice všechno už teď v TS kompilovaný webpackem (používáme import namísto ///reference...). Většinu máme psánu jako component (namísto directive), ale i tak to bude mazec. Hybridní aplikace (angular + angularjs) mi přijde že fungují jen na papíře, ale jakmile jsou tam nějaké ngModelCtrl, tak už jsou s tím hrozné problémy. Doufám, že až tomu dám více času, tak objevím nějaký zázračný postup, který nás vysvobodí. :) Ale zatím mě to dost děsí. 29.10. 20:15
  • Kit : Proč bys to měl přepisovat? 29.10. 20:21
  • kohven : @Kit: Protože Angular.js není knoflík, lžíce, xml, ani žádný jiný dokonalý vynález a spousta věcí je v Angular řešena lépe než v Angular.js. Taky protože pro Angular.js už nevznikají nové komponenty a pro Angular ano a nechci být v konkurenční nevýhodě. A především ve chvíli, kdy někdo objeví bezpečnostní chybu v Angular.js, tak si jí můžu opravit tak maximálně sám (další konkurenční nevýhoda), protože pochybuji, že by někdo udělal fork AngularJs a seriózně ho udržoval. Nicméně je velmi pravděpodobné, že i přes vše výše uvedené poběžíme na Angular.js ještě dlouho po té, co mu skončí podpora, protože toho starého kódu je už prostě příliš mnoho. 29.10. 20:44
  • rastakayakwana : @Mlocik97: tak to už seš bez nehtů ne? javascript je celej oop, i funkce je object. 30.10. 14:09
  • Mlocik97 : no ono jde aj o to čo pojmom OOP myslím, skôr som myslel moderné OOP na štýl Javy, teda nezmysli ako dedičnosť, polymorfizmus a podobné bullshity... ak hovoríme o pôvodnom OOP koncepte (jak to definoval Kay), tak na to alergiu nemám. 30.10. 14:52
  • harrison314 : nechcem tu rozdychvat flamewar, ale preco sa vsteci "odporocvia" OPP ohanaju Alanom Kayoum a Smaltakom (a nasledne vymenuju 5 veci o ktorych si myslia, ze su antipaterny v modrenych OOP jazykoch, no pritom sa pouzivaju inak ako ich prezentuju)? nehovoriac o tom, ze sa Smalltalk ani jeho nastupcovia mainstarimovo nepouzivaju. 30.10. 15:54
  • Mlocik97 : ono jde o to z akého uhlu sa na čo pozeráš. Inak až na to funkcionálne bláboly a pár nepresností by som povedal že hodne moc súhlasím s článkom https://medium.com/better-programming/object-oriented-programming-the-tr... inak keď Kay sám je odporca Javy a moderného OOP, vrátane Linuse a ďalších veľkých ľudí ako tvorca Erlangu, tak niečo na tom je. A to že všetky sa oháňajú Kayom, asi preto lebo na tom niečo bude pravdy? 30.10. 16:02
  • Kit : Problém není v OOP, dokonce ani v implementacích, ale ve způsobu, jak se používá. Kdekdo se ohání SOLID, ale v jeho aplikacích bys to marně hledal. 30.10. 16:46
  • harrison314 : @Mlocik97: Argumentacnym klamom na autoritu by som sa v tomto urcite neohanal, a uz vobec nie Linusom... a autorovi clanku by som odkazal, ze za jeho mizerny zivot OOP nemoze. A teraz vazmejsie, autor toho clanku ma velmi vagne vyjadrenia a nicim nepodlozene, hovori, ze kritizuje modrene OOP, ale to nie je pravda, on nepochopil ako sa robi v OOP navrch arhitektury a modelovanie, preco a kedy pouzit dedicnost, unit testovanie... Ano sam som sa stretol sz projektom v mojej prvej praci (PHP), na ktory dana kritika sedela. No za mna slaby clanok, dalsi s kategorie "antipaterny v OOP su horsie ako FP". 30.10. 18:52
  • Mlocik97 : Ak sa niekto ohání že OOP je dobré len že sme to nepochopili, tak asi dobré nieje, když ne-OOP jde tak snadno pochopiť a OOP polovica ludí nevie pochopiť vôbec, inak vtipné je že i tý Javisti OOP jak vyzdvihujú do výšin sa často sami nezhodnú na tom čo je čo a presne jak by to malo byť. Existencia miliardy design patternov je taky dôkazom že OOP nieje až tak dobré jak sa okecáva OOPkármi. Ostatne radši opustme toto téma, lebo fakt sa to zmenilo na OOP vojnu. 30.10. 18:54
  • Kit : Těch návrhových vzorů není moc: http://voho.eu/wiki/navrhovy-vzor/ Většinu z nich nikdy nepoužiješ. 30.10. 19:21
  • harrison314 : @Mlocik97: Ked sa FP roziri (a teraz nemyslim to pseudo FP v JS) tak sa v nom bude prsait rovnako. Je to ako ked niekto povie, ze Linux je bezpecny... totalna kavina. Na dizajn patterny sa nepozeraj, na dobre OOP ti staci 5 jednoduchych pravidiel - SOLID, plus modelovat spravnie a nie data. V clanku sa je kritizovana mutabilita, ale kazdy den pouzivam immutable objekty a mutable, ked je treba. A ano jazyk by ti mal co najmenej dovolit prasit ale na to je prisny staticky typovy system. A nik pricetny ti nebude tvrdit, ze OOP/FP je najlepsia volba na vsteko. mas pravdu mali by sme diskusiu uzavriet. 30.10. 19:33
  • Taco : @harrison314: FP samozřejmě není všespásné, ale troufám si tvrdit, že v něm jde prasit hůř. OOP naopak k prasení svádí. 31.10. 12:47
  • Mlocik97 : samozrejme žiadna paradigma není všespasná, jak napsal Taco. Súhlasím s ním, OOP je expert v prasení i chaotickosti. 31.10. 12:55
  • harrison314 : @Mlocik: Ja s tym nesuhlasim. 31.10. 13:27
  • Taco : @harrison314: Ty máš zkušenost o nějakém projektu, který psali nezkušení vývojáři v OOP, že by to vypadalo nějak výrazněji lépe, než když by to psali prachsprostě procedurálně? 31.10. 16:07
  • Mlocik97 : Procedurálne i debil to napíše tak že to jde čítať,... OOP? to dokážu čitatelne napísať len profesionály pre daný jazyk (Java, C#), inak je ten kód iným človekom často nepochopitelný. 31.10. 16:14
  • Taco : @Mlocik97: To zase přeháníš. OOP je fajn věc. Když to člověk umí, tak ten kód může vypadat moc dobře. 31.10. 16:24
  • Mlocik97 : "Když to člověk umí, tak ten kód může vypadat moc dobře." presne, lenže na takej úrovni aby bol vypadať moc hezky sú len 5% projektov, možno 10%... čož u procedurálneho je teda ďaleko lepšia hodnota. 31.10. 16:29
  • Taco : @Mlocik97: Určitě ne. U procedurálního kódu, když to neumíš, tak to nevypadá hezky nikdy. 31.10. 16:32
  • Mlocik97 : jak tu, túto diskuzi čítam, tak myslím že všetci sa zhodneme že OOP je sračka :-D o.k. už dosť bolo kecov o tom, pome späť k téme. 31.10. 17:01
  • Kit : @Mlocik97: Tak na tom se neshodneme. 31.10. 18:33
  • harrison314 : @Taco: Kazdy 4-ty projekt v JS je proceduralny gulas.A dost PHP projektov (bol) fakt proceduralny bordel. Takze si dovolim tvrdit ze hej. 31.10. 20:31
  • Taco : @harrison314: Teď ti nerozumím. Mě je jasné, že procedurální kód bude guláš. Já se ptám na OOP. 1.11. 1:13
  • harrison314 : @Taco: Ved funkcionalne programovanie, ktore je dnes moderne (ala JS a spol) je obycajne proceduralne s par prvkami FP, takze to co sa dnes mainstrimovo nazyva FP ma od FP tak daleko ako sa len da. Suhlasim z nazorom, ze silno typove FP programovanie ti umoznuje prasit vyrazne menej ako lsabo staticky typove OOP. Ale v pripade jazykov to uz neplati, napriklad Haskell alebo F# ti dovolia prsait vyrazne menej ako napriklad C++, no potom tu mame ine "funcionalne" jazyka ako JS, kde sa prasi vyrazne viac ako narpiklad v modernej Jave. Inac aj oop prechadza revoluciou, preto nechapem to neustale ohananie sa Smalltalkom. A v realnych aplikaciach (ktore nie su ciste) ide o to vyriesit problem, priniest bussines hodnotu, ekosystem a nastroje... Povodne som sa pytal preco sa ludia ohanaju uz dvano nepouzivanym a prekonanym jazykom... ale stale som nedostal odpoved. 1.11. 8:51
  • skliblatik : @harrison314 "...aj oop prechadza revoluciou..." - mohl bys trochu rozvést, co tím myslíš? 1.11. 9:35
  • Mlocik97 : ja v tej (r)evolúcii OOP vidím len že je to čím ďalej tým väčší guláš, komplikovanejšie, chaotickejšie, a... ako tým nemyslím OOP všeobecne, skôr tú Java/C# časť. Inak OOP ako Erlang je skvelá vec. A aj keď je to nazvané podľa pôvodnej definície ako OOP, skôr bych to nazval message oriented programming (MOP). A myslím že v PP, FP a MOP ceľkovo je možné programovať kvalitnejší software s ľahším odchytom chýb, a plánovaním do budúcna. U OOP zistíš že potrebuješ niečo zmeniť, tak jak si neočakával 4 roky pred tým, a zistíš že kvôli tomu musíš prepísať buď 3/4 programu, alebo to nejak "hackovať" (a teda sprasiť)... to sa u ne-OOP nedeje. Refaktorizácia mi taktiež prijde v ne-OOP jazykoch rozumnejší a jednoduchší. Toť môj názor. Ale toto je len nekonečná vojna pešiakov na šachovnici. Jeden bude tvrdiť že OOP je best, druhá že procedurálne je best. Chcel by som ja zas naopak počuť argumenty proti ne-OOP paradigmám, napríklad proti procedurálnemu či funkcionálnemu. 1.11. 9:57
  • Kit : Když v OOP potřebuji něco změnit, změním jednu třídu. Pokud to někdo dělá jinak, dělá to blbě. Proto jsem přešel na OOP, aby objekty byly maximálně samostatnými jednotkami s minimální interakcí s okolím. 1.11. 12:20
  • Mlocik97 : Kit a presne toto OOP nerobí, robí presný opak... každá časť je závislá na inej časti. 1.11. 12:56
  • kohven : @Mlocik97: To už tak v programech bývá, že na sobě různé části závisí. V OOP můžu prasit a psát new kde se mi zlíbí a nebo používat DI a ty závislosti mám pak pod kontrolou. A pokud to mám otypováno obecnými interfaces, tak se mi ty závislosti přepisují velmi snadno. Tedy pokud ten interface nemá desítky metod, ale pak silně pochybuji, že byl dodržen SRP. Často se totiž v OOP dělá ta chyba, že se přidávají metody pořád do jedné třídy, protože spolu tak nějak tématicky souvisí. A pak se člověk dostává do problémů. Ale ono je to spíše tak, že kolik bych měl ve funkcionálně napsaném programu funkcí, tak přibližně tolik bych měl mít v OOP programu tříd. Možná o něco méně, ale ne 10x. Není žádná anomálie, když má třída (interface) jen jednu metodu. Běžné jsou třídy, kde jsou třeba dvě public metody a k tomu třeba 3 private metody. Třída o desítkách metod už má být jen jako fasáda knihovny, pod kterou se volá funkčnost z desítek malých tříd, ale jinak by v ní neměla být žádná business logika. IMHO rozdíl mezi FP a OOP je jenom v tom, že ohledně FP nevzniklo tolik zavádějících pouček, jako jich vzniklo kolem OOP. Setkal jsem se s diskuzemi, kde obě strany měly naprosto rozdílný názor, který ale obhajovaly stejnými zkratkami ze SOLID. Já nakonec skončil u jediné poučky: Ať už píšeš cokoliv v čemkoliv, snaž se to poskládat z co nejmenších částí s co nejstručnějším "rozhraním". 1.11. 15:16
  • harrison314 : @skliblatik: Myslel som evoluciu. 1.11. 17:43
  • harrison314 : @Mlocik97: Tie demagogicke nazory co tu strielas z vala do prava mas aj niecim podlozene? Alebo je to len na urovni krcmovej debaty? 1.11. 17:44
  • Mlocik97 : Ja mám podkladať názory, a ty sám je nepodkladáš? Mne inak toto celé prijde ako krčmová debata. Inak podložené je to docela dosť tým odkazom na medium čo som poslal. Alebo aj https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda... v podstate by som hovoril niečo dosť podobné. 2.11. 11:31
  • Kit : @Mlocik97: Tvé tvrzení: "všetci sa zhodneme že OOP je sračka", bylo vyvráceno - stačil na to jediný nesouhlas. Ten článek na mediu je od člověka, který OOP nepochopil a přešel na FP. Nic proti tomu. Jen si mohl odpustit hejtění OOP na nesmyslných příkladech s diamantem od dalších neschopných vývojářů, kteří si myslí, že dělají OOP. Ať jdou dělat FP a neplácají nesmysly o OOP. 2.11. 12:10
  • Kit : @Mlocik97: Viděl jsem dost odstrašujících příkladů na FP, které mají do proklamované čistoty hodně daleko. Přesto si netroufám tvrdit, že FP je sračka. Používám i DP, které je FP hodně blízké a vím, že se v tom dá programovat nejen velmi čistě, ale také hrůzostrašně prasit. 2.11. 12:19
  • Taco : @Kit: Neviděl. 2.11. 15:16
  • harrison314 : @Taco : "Neviděl." Ono zalezi co povazujes za funkcionalne programovanie a co nie. 4.11. 10:21
  • Taco : @harrison314: Nedokážu si představit, jak by to mohl být problém. Ale tak ukaž nějaký špek. Nechám se rád poučit. *** FP = data získáváme jako návratovou hodnotu funkcí, ideálně bez side-efektů; používání funkcí jako argumentů (higher-order funkce). Víc mě teď z fleku nenapadá. 4.11. 12:54
  • harrison314 : Ptyal som sa pre to, ze ak sa povazuje za FP aj napriklad JS, tak prikladov prasenia mas znacnu cast NPM. ide o to, kde spravit hranicu. Za mna na FP (v ktorom sa prasi vyrazne tazsie) treba viac ako si vemynoval napriklad: jednoznacne curring, pattern matching (ziadne if-y), kazde volanie funkcie by sa malo dat nahradit jej navratovou hodnotou a s toho vyplyva napriklad to, ze programator neurcuje (a ani by nemal) poradie vykonavnia funkcii, funcionalny jazyk musi vyrazne znepriemnovat side-efekty (ak to nerobi si tam, kde v proceduralnych jazkoch) napriklad monadami... a este by sa par naslo... Ale za mna ma najvetsi prinos do neprasenia prave syntakticke obmedzenie side efektov a silne zameranie na pattern matching. 4.11. 14:46
  • Mlocik97 : harrison314 to vystihol hodne dobre. Toto s ním súhlasím. 4.11. 14:53
  • Taco : @harrison314: Ta chyba v úvaze bude v tom, že JS je FP. JS je taky OOP a taky tvrdě procedurální. Takže takhle to prostě říct nemůžeš. My se tu nebavíme o jazyku. Bavíme se o programátorském paradigma. Tvrzení znělo, že v FP paradigmatu se hůř prasí, zatímco v OOP se naopak prasí snadno. Takže když vezmeš zdrojáky nějakého jazyka, například javascriptu, kde není nic napsaného FP ani OOP stylem, tak to o kvalitách toho kterého paradigmatu neříká vůbec nic. *** Takže mě by zajímala ukázka kódu, který dotyčný považuje za FP a je odstrašující; jak se tu prsil @Kit. 4.11. 17:07
  • Kit : @harrison314: On se dá i Haskell docela dost prasit. Návrh jazyka je dobrý, ale prasení nezabrání, stejně jako u ostatních jazyků. 4.11. 19:04
  • Taco : @Kit: Teoreticky máš samozřejmě pravdu. Ale chtělo by to prohlášení od někoho, kdo s tím jazykem má reálné zkušenosti. 4.11. 19:47
  • harrison314 : @Taco: Len to si uz v tak teoretickej rovine... 4.11. 20:26
  • harrison314 : @Taco: Ja som v haskelly istu dobu robil svoje hoby projekty, zial vtedy som neprasil uz ani v OOP... ale viem si predstavit ako dane vlastnosti zneuzijes na nieco ine ako by si mal (napriklad vynutis poradie vykonania IO operacii pomocou agregacnej funkcie) 4.11. 20:27
  • Taco : @harrison314: Což sis už pěkně odpověděl. Aby někdo mohl prasit v Haskellu, tak ho musí docela dost ovládat. A pak bude na úrovni, že prasit nebude. Dá se to brát jako potvrzení mého prohlášení, že FP brání prasení, zatímco OOP svádí? 4.11. 20:41
  • Taco : @harrison314: Jako vůbec ten Haskell je dobrej příklad. Díky tomu, že je to PureFP, tak tam prasit je opravdu těžký (všechno co smrdí stavem, STM, Unsafe, ...). A žádnou imperativnost/neFP tam nedáš i kdyby ses rozkrájel. 4.11. 20:44
  • harrison314 : Vo vseobecnosti s tym stale suhlasit nemozem... hlavne s tou castou, ze OOP "svadi" k praseni. 4.11. 20:44
  • Taco : @harrison314: Pardon. Výraz "svádí" je určitě zbytečně silný. Chtěl jsem říct, že v FP bude člověk mět menší tendence prasit, než v OOP. Že OOP zrovna moc nepomáhá neprasit. 4.11. 20:52
  • Kit : @harrison314: OOP svádí k prasení úplně stejně jako FP. Funkcionalisti jen hřeší na to, že spokojeným OO programátorům je jedno, v čem se hrabou. Úplně stejně míchají namespaces jak je napadne, píší nesrozumitelné názvy funkcí plné pleonasmů a funkce píší i na několik řádek. Jsou i líní si nadefinovat vlastní typy a ohánějí se tím, že "se to nedělá". Typový systém by jim fungoval, kdyby ho používali. Pak se diví, že jim překladač v pohodě sežvejkne přehození dvou parametrů funkce, které jsou stejného typu. 4.11. 21:00
  • harrison314 : To ano, ale v pripade Haskellu za to moze aj jeho staticky typovy system. No stale ti nic nebrani robit obrovske uber funkcie, robot to co sa vycita zlym triedam, ale nie na urovni tried ale na urovni modulu, davat do union typov veci co spolu nepatria, rozflakat union typ po celej aplikacii a kazde jeho rozsirenie znamena zasah do kazdej tretej funkcie v programe... ja by som neodcenoval ludsku kreativitu. Na druhej strane pre jazyk, co ma byt pouzitelny v realnom svete, potrebujes aby vedel upustit od prisnych pravidiel (napriklad volanie externeho API v istom poradi, optimalizacie). 4.11. 21:05
  • Taco : @harrison314: V případě Haskellu za to může jeho Purita. A taky jsem nepsal, že to nejde. Jen v něm prasit musíš umět :-) 4.11. 21:17
  • harrison314 : @Taco: Dal som ti dost prikladov, ze prasit sa da uplne rovnocenne (aj bez toho aby si bol expert na FP - na uber union typ alebo good function nepotrebujes byt expert) ako v OOP. A clovek co dokaze napisat velku metodu/triedu v OOP ju dokaze napisat aj vo FP. Navyse FP nijako nebrani v praseni (uviedol som dost prikladov), len to bude trosku ine prasenie. 5.11. 7:31
  • Taco : @harrison314: OK, jestli máš představu, že jsi uvedl nějaké příklady, tak ok, tímto můžu toto vlákno považovat za uzavřené. 5.11. 16:04
  • harrison314 : @Taco: takze, ako mi FP zabrani robit funkcie, ktore maju privela parametrov, ako mi zabrani nespravnu kompoziciu union typov a plno inyh? Nijak. 5.11. 16:46
  • Taco : @harrison314: Union typy nesouvisí s FP. Funkce s příliš parametry mi vrásky fakt nedělá. Já se bavím vážně. V OOP můžeš zvrtat dědičnost, můžeš dělat všechny atributy veřejné, dělat settery (Kite zalez), můžeš provázat dva objekty do sebe, můžeš nepoužívat konstruktor, můžeš vytvářet singletony, můžeš používat template metody, můžeš tam narvat eventy, můžeš každou kravinu dávat do this, můžeš vracet hodnotu efektem, můžeš spousta dalších věcí, na který si teď ani nevzpomenu - a ty to chceš porovnávat s funkcí s příliš mnoho parametry?! Si děláš ze mě srandu, nebo co? *** Nehledě k tomu, že ano, ve FP budeš mít mnohem menší tendenci na good-object, protože jednoduše nemáš this a to dělá všechno. *** Myslím, že můj příspěvek uzavřu takto: Pokud bych měl tým s méně zkušenými vývojáři, a mohl si vybírat, budu je tlačit do FP. Budu mít mnohem méně starostí a lepší výsledný kód, než když by se pokoušeli programovat objektově. 5.11. 23:31
  • harrison314 : @Taco: Ked budes dalej osekavat FP tak v cistej forme sa v nom neda programovat - nespravis vstup ani vystup, lebo ide o side efekty. Lenze ty sa bavis o nejakom hypotetickom FP jazyku, ja sa bavim o haskelly. Co sa taky tych vytiek, tak v ano v OOP mozes zvrzat dedicnost, ano mozes ravnako ako vo FP mozes zle namodelovat domenu, mozes mat vsteky attributy verejne - niekedy to je ziaduce, mozes delat setery - v C# je to norma (vyvoj jazykov sa nezasekol v 60-tych rokoch), ... template method je vzor, eventy su tiez vzor, ... A to je tvoj problem, nevies si predstavit prsaenie vo FP, ja si ho viem predstavit dobre (Haskellu som sa venoval dva roky). Ja suhlasim s tym, ze v cistom cistulinkom FP ide prsait vyrazne menej ako v cistom OOP, ale ma to svoju dan, mnohe veci sa v tom budu robit tazsie. Ak mas skusnych programatorov, tak ti ti nebudu prasit ani vo FP ano v OOP. A ak sa niekto nezvladne naucit 5 jednovetovych prvaidiel asi by nemal dokoncit zakladnu skolu a uz nie robit programatora. Aby sme si ujasnili ja mam FP velmi rad, paci sa mi, Haskell a F# su podla mna super jazyky, ale prsait v nich ide aj ked to bude inak ako v OOP. 6.11. 8:32
  • harrison314 : @taco: Ked to mam uzavriet, tak ja som voci FP len rovnako kriticky ako voci OOP. Ani jedno nepovazujem za striebornu gulku. 6.11. 8:21
  • Taco : @harrison314: Tak ok. Chápu, že v čisté podobě se v FP dá prasit velmi obtížně. Takže ok, klidně si uvolni ruce, a uveď tedy nějaké ty příklady prasení v nějakém FP. Klidně můžeš i Javascript, pokud by ti to činilo velké potíže. Rád bych ukázky, aby to dotáhlo ten můj seznam (ty dvě, co jsi uvedl je přeci jen slabota). A klidně můžeš uvádět i příklady prasení, které najdeme v OOP. Připomínám, že mé výhrady k OOP se týkali čistě jen OOP. Nepotřeboval jsem si pomáhat nějakým imperativním programováním, ani jsem neuváděl nedostatky typické pro třídní OOP. Já si vystačil jen s OOP. *** "v C# je to norma (vyvoj jazykov sa nezasekol v 60-tych rokoch)" - myslím, že s tímto bych tě poslal domů. Tolik k tomu, jak je "A ak sa niekto nezvladne naucit 5 jednovetovych prvaidiel asi by nemal dokoncit zakladnu skolu a uz nie robit programatora". *** Abychom si to ujasnili: já OOP přisuzuji historické zásluhy. A není to úplně blbej nápad. Ale FP je jednodušší, efektivnější, snazší, a méně se v něm prasí. 6.11. 15:20
  • harrison314 : Pozri keby sa vo FP neda prasit tak mam liek co vyriesi mnoho problemov softveroveho inzinierstva a udrzatelnosti kodu, naprik tomu, ze tu bolo skor ako OOP nestalo sa. Tu su dva clanky, co poukazuju, ze FP nie je strieborna gulka http://content.atalasoft.com/atalasoft-blog/functional-programming-it-is... a https://www.fluentcpp.com/2019/01/04/functional-programming-is-not-a-sil... ze pouzitie FP automaticky neznamena neprasenie. 6.11. 19:22
  • Taco : @harrison314: Jsi jediný, kdo tu řeší, že FP je stříbrná kulka. Jsi jediný, kdo tu řeší, že se v FP nedá prasit. Já už to po páte řešit nebudu. Za mě tato diskuse stačí. Ahoj. 6.11. 22:04
  • Kit : @harrison314: Neboj, nejsi jediný. Pokud není prasení FP deset parametrů funkce, zpřeházené namespace, bordel v typech a pleonasmy v názvech funkcí, tak už nemá smysl v diskuzi pokračovat. 6.11. 22:18
  • Taco : @Kit: Opět. Tvrzení, které tu nikdo nezastával. Kdybych tě neznal, tak bych se divil, že tě to baví. 6.11. 22:40
  • Mlocik97 : Tak po dlhom zvažovaní aj napriek tomu že u Angularu potrebujem server-side, rozhodol som sa že pôjdem doň... vyzerá to že je to najbližšie Angular.js a má všetko čo potrebujem, aj keď inšiu syntax a vyžaduje konfiguráciu na servery. 7.11. 13:49

Pro zobrazení všech 3 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.