Problémy s JavaScript v praxi

Bacsa

Re:Problémy s JavaScript v praxi
« Odpověď #600 kdy: 14. 10. 2018, 22:08:17 »
V Javě nedělám, ale v PHP tohle řeším právě přes to "udělěj()". Je to mnohem jednodušší než ostatní uvažovaná řešení. Hlavně tím odpadnou zbytečné metody "isNode", "isLeaf", "getLeft", "getRight" apod. Nehledě k tomu, že tento přístup by tě omezoval pouze na binární stromy.
Gratuluju k objevu volných monád.
Nevím, co je volná monáda (prosím zdroj) ale je to úplně normální OOP.
Je to matematická formalizace toho “udělej”: https://ncatlab.org/nlab/show/free+monad


andy

Re:Problémy s JavaScript v praxi
« Odpověď #601 kdy: 14. 10. 2018, 22:38:50 »
Jsem sice známý tím, že nerad používám frameworky, ale přece jen už nemám potřebu programovat AVL stromy, když dnešní jazyky mají řazení jako součást syntaktického cukru.
Chápu, v PHP se člověk zpravidla k implementaci složitějších algoritmů nedostane....

Citace
Různé informace na obrazovce řeším různými objekty. Mohu je mezi sebou vyměňovat dle potřeby. Jak prosté - SRP je mnohem lepší než dělat nějaký God object.
To souvisí s čím?
Citace
Nevím, proč bych měl řešit součtové typy, když PHP to má už v základu.
PHP má součtové typy? A bavili jsme se o tom, jak nikdo nepoužívá instanceOf a přetypování v Javě...asi jsem ztratil nit diskuze....

Ale jinak teď jsem viděl zrovna v PHP hezkou implementaci součtového typu ve stylu CPS. Pokud má jazyk možnost pracovat s higer-order funkcema, pak je to hezký trik, jak to implementovat.

Kit

Re:Problémy s JavaScript v praxi
« Odpověď #602 kdy: 14. 10. 2018, 22:45:57 »
V Javě nedělám, ale v PHP tohle řeším právě přes to "udělěj()". Je to mnohem jednodušší než ostatní uvažovaná řešení. Hlavně tím odpadnou zbytečné metody "isNode", "isLeaf", "getLeft", "getRight" apod. Nehledě k tomu, že tento přístup by tě omezoval pouze na binární stromy.
Gratuluju k objevu volných monád.
Nevím, co je volná monáda (prosím zdroj) ale je to úplně normální OOP.
Je to matematická formalizace toho “udělej”: https://ncatlab.org/nlab/show/free+monad

Ve škole jsme funkcionální programování neprobírali a nebyla o tom zmínka ani v matematice, takže je to pro mne hůře stravitelné. Přesto díky za link.

Kit

Re:Problémy s JavaScript v praxi
« Odpověď #603 kdy: 14. 10. 2018, 22:56:57 »
Jsem sice známý tím, že nerad používám frameworky, ale přece jen už nemám potřebu programovat AVL stromy, když dnešní jazyky mají řazení jako součást syntaktického cukru.
Chápu, v PHP se člověk zpravidla k implementaci složitějších algoritmů nedostane....

Nejenže nedostane, ale dokonce je to nežádoucí z důvodů negativního dopadu na výkon aplikace.

Citace
Různé informace na obrazovce řeším různými objekty. Mohu je mezi sebou vyměňovat dle potřeby. Jak prosté - SRP je mnohem lepší než dělat nějaký God object.
To souvisí s čím?

S tím, že si v objektu vystačím s jednou metodou typu "udělej()". Na jinou práci mám jiný objekt.

Citace
Nevím, proč bych měl řešit součtové typy, když PHP to má už v základu.
PHP má součtové typy? A bavili jsme se o tom, jak nikdo nepoužívá instanceOf a přetypování v Javě...asi jsem ztratil nit diskuze...

Součtové typy mají hlavně funkcionální jazyky. V PHP se dá docílit téhož výsledku podobnou konstrukcí.

Ale jinak teď jsem viděl zrovna v PHP hezkou implementaci součtového typu ve stylu CPS. Pokud má jazyk možnost pracovat s higer-order funkcema, pak je to hezký trik, jak to implementovat.

Až budu něco takového skutečně potřebovat, tak to určitě použiji. Určitě však přitom nepoužiji žádný framework, ale napíši to na jeden řádek, jak se v PHP sluší a patří.

Bacsa

Re:Problémy s JavaScript v praxi
« Odpověď #604 kdy: 15. 10. 2018, 01:00:19 »
V Javě nedělám, ale v PHP tohle řeším právě přes to "udělěj()". Je to mnohem jednodušší než ostatní uvažovaná řešení. Hlavně tím odpadnou zbytečné metody "isNode", "isLeaf", "getLeft", "getRight" apod. Nehledě k tomu, že tento přístup by tě omezoval pouze na binární stromy.
Gratuluju k objevu volných monád.
Nevím, co je volná monáda (prosím zdroj) ale je to úplně normální OOP.
Je to matematická formalizace toho “udělej”: https://ncatlab.org/nlab/show/free+monad
Ve škole jsme funkcionální programování neprobírali a nebyla o tom zmínka ani v matematice, takže je to pro mne hůře stravitelné. Přesto díky za link.
Ono to hlavně v praxi v této formě k ničemu není, jen mě občas fascinuje, jak se dá kdejaká veskrze praktická věc zasadit do brutálně abstraktního formálního kontextu (a naopak).