Omezená dědičnost (je něco lepšího než OOP?)

BoneFlute

  • *****
  • 2 046
    • Zobrazit profil
Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #255 kdy: 13. 09. 2015, 01:36:41 »
Tohle mě fakt nebaví. Dělal jsem na engine AAA hry (nebyl to Unreal) a žádná kritická sekce tam nebyla. Nechceš ji tam, zamykání stojí výkon. Není tam potřeba. Nastavení pozice je prostě metoda objektu. Nepotřebuješ k tomu scénu. Všichni (kromě funkcionálních fanatiků  ;)), to tak dělají.
Nevím proč jsem si právě vzpomněl na Larru Croft s rukou ve zdi...

Jen pro pořádek, já si kritickou sekcí představuju místo, kde může dojít ke konfliktům = dva paňácové berou stejný pomeranč. Zámky jsou v immutable nutné možná méně než v mutable světě. Chápeme se doufám dobře.


gamer

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #256 kdy: 13. 09. 2015, 01:37:00 »
Hele, už toho fakt nechme, nikam to nevede.

Souhlas

Vždyť tě nikdo nenutí FP používat, tak jakej máš problém? Prostě FP nepoužívej. Když o něm nebudeš rozšiřovat nesmysly, tak na tebe nikdo nebude reagovat a všichni budou spokojení, ne?

Když přestanete tvrdit, že funkcionální programování je úplně to nejlepší na vývoj her, i když jste žádnou hru nedělali (teda BoneFlute dělal), tak přestanu reagovat. Já si to totiž nemyslím. A se mnou si to nemyslí naprostá většina ostatních vývojářů her. Kdyby to bylo tak skvělé, jak prezentujete, každý včetně mě by po tom hned skočil. Všichni chtějí dělat co nejlepší hry, konkurence je v tomto oboru velmi tvrdá.

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #257 kdy: 13. 09. 2015, 01:45:17 »
Když přestanete tvrdit, že funkcionální programování je úplně to nejlepší na vývoj her, i když jste žádnou hru nedělali (teda BoneFlute dělal), tak přestanu reagovat.
To ale přece nikdo netvrdí. Já tady jenom celou dobu vyvracím tvoje předsudky vůči FP, které jsou zjevně založené na neznalosti. Je možný, že FP není pro hry vůbec vhodný a jsou pro to objektivní důvody, ale určitě to nejsou ty, které popisuješ, protože tak, jak to píšeš, to prostě není.

Něco tvrdit a vyvracet tvrzení je úplně jiná důkazní situace.

Kdyby to bylo tak skvělé, jak prezentujete, každý včetně mě by po tom hned skočil. Všichni chtějí dělat co nejlepší hry, konkurence je v tomto oboru velmi tvrdá.
Tak třeba ukázkově tohle tvrzení můžu velice lehce vyvrátit - a zároveň si nemusím myslet, že FP je na hry nejlepší, dokonce si klidně zároveň můžu myslet, že je na hry úplně špatné a nevhodné.

Tohle tvrzení je nepravdivé, protože můžou být úplně jiné důvody, proč se FP nepoužívá - například to, že C++ programátorů máš plnou ... zatímco padesát dobrých Haskellistů bych ti teda hledat nepřál. Vždyť to říká i ten Carmack: je to hezký přístup, ale nedává ekonomický smysl na něj přecházet, když máte lidi, máte nástroje, máte ekosystém. Akorát on si narozdíl od tebe nevymýšlí pseudodůvody, proč to nejde technicky.

BoneFlute

  • *****
  • 2 046
    • Zobrazit profil
Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #258 kdy: 13. 09. 2015, 01:47:29 »
Když přestanete tvrdit, že funkcionální programování je úplně to nejlepší na vývoj her, i když jste žádnou hru nedělali (teda BoneFlute dělal), tak přestanu reagovat. Já si to totiž nemyslím.

Jak si to můžeš myslet, když o FP víš tak málo?

gamer

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #259 kdy: 13. 09. 2015, 01:58:45 »
Jak si to můžeš myslet, když o FP víš tak málo?

Já to nechci začínat znova... Dva lidi nezávisle (BoneFlue a implementátora Pac-Mana), dovedlo funkcionální programování k tomu, že vyrobí seznam eventů pro celou scénu a pak se ho snaží ex-post nějak aplikovat a ještě to považují za výhodu a úžasný nápad. Pro mě je to úplně uhozená představa. Nikdo to tak nedělá, i když by mohl i v imperativním přístupu prakticky zadarmo bez synchronizace.

Můžeme si samozřejmě říct, že všichni vývojáři her jsou hloupí, nepochopili funkcionální programování, ví o něm strašně málo a teprve čekají na to, až jim někdo ukáže tu správnou cestu. Occamova břitva ale říká, že to nebude ta správná teorie.


BoneFlute

  • *****
  • 2 046
    • Zobrazit profil
Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #260 kdy: 13. 09. 2015, 02:03:32 »
Jak si to můžeš myslet, když o FP víš tak málo?

Já to nechci začínat znova... Dva lidi nezávisle (BoneFlue a implementátora Pac-Mana), dovedlo funkcionální programování k tomu, že vyrobí seznam eventů pro celou scénu a pak se ho snaží ex-post nějak aplikovat a ještě to považují za výhodu a úžasný nápad. Pro mě je to úplně uhozená představa. Nikdo to tak nedělá, i když by mohl i v imperativním přístupu prakticky zadarmo bez synchronizace.

Pokud víš o FP tolik, kolik jsi dneska ukázal, tak to, že se ti něco na FP zdá úplně uhozený není vůbec směrodatné.

Dobrou noc.

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #261 kdy: 13. 09. 2015, 02:05:50 »
Můžeme si samozřejmě říct, že všichni vývojáři her jsou hloupí, nepochopili funkcionální programování, ví o něm strašně málo a teprve čekají na to, až jim někdo ukáže tu správnou cestu. Occamova břitva ale říká, že to nebude ta správná teorie.
Super, na tom se konečně shodneme! Occamova břitva říká, že to tak nebude, protože kdybys to udělal v C++, tak bys tím nezískal tytéž výhody jako ve skutečně funkcionálních jazycích, protože tam nemáš ty garance.

A o tom, že se "to tak nikdo nedělá", se dá s úspěchem pochybovat, opět můžeme zůstat u Carmacka:
Citace
My pragmatic summary: A large fraction of the flaws in software development are due to programmers not fully understanding all the possible states their code may execute in. In a multithreaded environment, the lack of understanding and the resulting problems are greatly amplified, almost to the point of panic if you are paying attention. Programming in a functional style makes the state presented to your code explicit, which makes it much easier to reason about, and, in a completely pure system, makes thread race conditions impossible.
http://gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php

Jasně, můžeš ignorovat nás, kteří jsme na "AAA enginu" nikdy nedělali, ale fakt bych rád viděl, jak by ses stejně prsil na něj a co by na to řekl on :)

gamer

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #262 kdy: 13. 09. 2015, 02:12:03 »
Pokud víš o FP tolik, kolik jsi dneska ukázal, tak to, že se ti něco na FP zdá úplně uhozený není vůbec směrodatné.

Budu ignorovat osobní urážky a nebudu je vracet, i když bych mohl. Mně se to nezdá uhozený, je to logický důsledek aplikace funkcionálního přístupu na hru. Nemůžu změnit scénu, tak to udělám jinak. Vygeneruju eventy a změním ji ex-post. A teď se zkus zamyslet, brání mi něco udělat to stejné imperativně? Nebrání. Dělá to tak prakticky někdo imperativně? Nedělá. Tisíce vývojářů her každý den přemýšlí o tom, jak svoji hru udělat lepší, kvalitnější, rychlejší a jak celý vývoj dotáhnout co nejrychleji a nejúspěšněji do konce. Tohle řešení s eventy ale nepoužil nikdo.

BoneFlute

  • *****
  • 2 046
    • Zobrazit profil
Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #263 kdy: 13. 09. 2015, 02:17:02 »
Pokud víš o FP tolik, kolik jsi dneska ukázal, tak to, že se ti něco na FP zdá úplně uhozený není vůbec směrodatné.

Budu ignorovat osobní urážky a nebudu je vracet, i když bych mohl.

Urážky? Jaký urážky?

gamer

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #264 kdy: 13. 09. 2015, 02:17:57 »
A o tom, že se "to tak nikdo nedělá", se dá s úspěchem pochybovat, opět můžeme zůstat u Carmacka:

Carmack je hračička a baví ho prošlapávat neprobádané cesty. S reálnou použitelností to nemusí vůbec korelovat. Jak to vůbec dopadlo s tím jeho portem Wolfensteina do Haskellu? Dotáhnul to? Nikde jsem nenašel, že ano, ale možná jsem jen špatně hledal.

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #265 kdy: 13. 09. 2015, 02:21:16 »
Budu ignorovat osobní urážky a nebudu je vracet, i když bych mohl.
Je to dost smutný, neumět si přiznat, že existují věci, kterým nerozumím.

Tohle řešení s eventy ale nepoužil nikdo.
Snadno vyvratitelné. http://gamedev.stackexchange.com/questions/7718/event-driven-communication-in-a-game-engine-yes-or-no

Carmack je hračička a baví ho prošlapávat neprobádané cesty. S reálnou použitelností to nemusí vůbec korelovat.
Jistě existuje možnost, že Carmack hrám nerozumí, narozdíl od tebe, tak to špatně odhadl.

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #266 kdy: 13. 09. 2015, 02:23:29 »
Jak to vůbec dopadlo s tím jeho portem Wolfensteina do Haskellu? Dotáhnul to? Nikde jsem nenašel, že ano, ale možná jsem jen špatně hledal.
To je celkem jedno, protože existuje jiná, deleko pokročilejší hra: https://wiki.haskell.org/Frag

gamer

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #267 kdy: 13. 09. 2015, 02:32:21 »
Je to dost smutný, neumět si přiznat, že existují věci, kterým nerozumím.

Je to dost smutný, neumět si přiznat, že funkcionální programování není vhodné na všechno a řešení, které z funkcionálního přístupu někdy vypadnou, nejsou dobrá.

Snadno vyvratitelné. http://gamedev.stackexchange.com/questions/7718/event-driven-communication-in-a-game-engine-yes-or-no

To je něco úplně jiného, event systém na úrovni callbacků, pošlu event a nějaký callback ho hned zpracuje. Není to žádná fronta eventů na scénu, které se zpracují najednou ex-post.

Jistě existuje možnost, že Carmack hrám nerozumí, narozdíl od tebe, tak to špatně odhadl.

Můžeš ze mě dělat debila, ale aplikuješ to současně i na většinu ostatních vývojářů her. Carmackův názor je v tomto minoritní. Samozřejmě je možné, že všichni kromě Carmacka a Prýmka opravdu debilní jsou, to nepopírám.

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #268 kdy: 13. 09. 2015, 02:38:37 »
Je to dost smutný, neumět si přiznat, že funkcionální programování není vhodné na všechno a řešení, které z funkcionálního přístupu někdy vypadnou, nejsou dobrá.
S tím já nemám problém. Nikdy nikde jsem netrvdil, že to tak je. Jenom tvrdím, že ty důvody jsou jiné, než uvádíš ty. Protože ty důvody, které uvádíš ty, zjevně pramení z neznalosti.

To je něco úplně jiného, event systém na úrovni callbacků, pošlu event a nějaký callback ho hned zpracuje.
Čili úplně jako v Erlangu. Co mi to přípomíná? Jo, jak jsem o něco výš napsal "úplně jako s Actorem". Sorry, ale už mě to fakt přestává bavit.

Není to žádná fronta eventů na scénu, které se zpracují najednou ex-post.
Touhle fixní ideou trpíš už dlouho, nebo tě to chytlo až v tomhle vlákně? Už tady asi tisíckrát zaznělo, že to není jediná možnost. Proč si nevyndáš ty špunty z uší?!

------

Tak. A teď už mě to přestalo bavit definitivně. Pro jistotu definitivně vypínám notifikace na tohle téma :) Dobrou noc :)

gamer

Re:Omezená dědičnost (je něco lepšího než OOP?)
« Odpověď #269 kdy: 13. 09. 2015, 03:01:58 »
Touhle fixní ideou trpíš už dlouho, nebo tě to chytlo až v tomhle vlákně? Už tady asi tisíckrát zaznělo, že to není jediná možnost. Proč si nevyndáš ty špunty z uší?!

Možností je spousta, ale mně všechny připadají horší, než imperativní přístup s mutable objekty. Klidně si mysli, že jsem FP nepochopil. Já ti to vyvracet nebudu. Budeme oba spokojeni a můžeme tuto nesmyslnou debatu ukončit.