Těžké OOP problémy

Re:Těžké OOP problémy
« Odpověď #225 kdy: 11. 11. 2019, 16:17:27 »
Čím víc pruhů... :D
Tak tak.

Cim vic pruhu ... tim vetsi mindfuck :)

Nejdřív mu objasni rozdíl mezi syntaxí a sémantikou formálních jazyků, potažmo mezi dokazatelností a splnitelností (v teorii modelů), až to pochopí (včetně korektnosti a úplnosti), bude moct s tebou diskutovat ;) Časem se třeba dopracuje až k modální logice, její emulaci v LPŘ a třeba i vyšším řádům a rozdílu mezi obecnou a standardní sémantikou. Druhá možnost je, že se na něj vys…š :)
To nebude potreba. Cikada rad argumentuje tim, ze definici vyznamu slov urcuji jazykove prirucky, tak treba v nejake z nich definici tech pojmu najde :)



Kit

  • *****
  • 708
    • Zobrazit profil
    • E-mail
Re:Těžké OOP problémy
« Odpověď #226 kdy: 11. 11. 2019, 16:20:45 »
Myslel jsem si, že tu budeme propírat OOP. Místo toho se tu hádají stoupenci FP o slovíčka. Nechcete si to vyříkat ve vlastním vlákně?

Re:Těžké OOP problémy
« Odpověď #227 kdy: 11. 11. 2019, 16:27:15 »
Myslel jsem si, že tu budeme propírat OOP. Místo toho se tu hádají stoupenci FP o slovíčka. Nechcete si to vyříkat ve vlastním vlákně?
Sorry. OP uz se neozval, tak jsem predpokladal, ze pani ucitelka vyhlasila volnou zabavu :)

Slibuju, ze jestli mi ondrama odpovi na https://forum.root.cz/index.php?topic=22043.msg320247#msg320247 zalozim na to samostatne tema.

Kit

  • *****
  • 708
    • Zobrazit profil
    • E-mail
Re:Těžké OOP problémy
« Odpověď #228 kdy: 11. 11. 2019, 16:34:11 »
Jen jsem chtěl upozornit na to, že pokud se stoupenci FP budou hádat o slovíčka, budeme z toho mít my ostatní tak akorát srandu.

Re:Těžké OOP problémy
« Odpověď #229 kdy: 11. 11. 2019, 19:52:38 »
Ok. Definice pojmu "predikát" a pojmu "vlastnost" jsou teda podle tebe jaké?

Zkus aspoň tu wikipedii. Btw ani je nepotřebuješ k tomu, aby sis všiml, že jsi napsal kravinu.

Nejdřív mu objasni rozdíl mezi syntaxí a sémantikou formálních jazyků, potažmo mezi dokazatelností a splnitelností (v teorii modelů), až to pochopí (včetně korektnosti a úplnosti), bude moct s tebou diskutovat ;) Časem se třeba dopracuje až k modální logice, její emulaci v LPŘ a třeba i vyšším řádům a rozdílu mezi obecnou a standardní sémantikou. Druhá možnost je, že se na něj vys…š :)

To není nutné, většinu jsme brali ve škole.

Víš, kdybys byl tak chytrý, jak se tváříš, tak by sis třeba všiml, že mu to ani typově nesedí. Ale chápu, že navážet se do ostatních je lehčí.

(...) Cikada rad argumentuje tim konstatuje, ze definici vyznamu význam slov u nás urcuji jazykove prirucky řeší normativní slovník, (...)

Tolik chyb, až si člověk říká, jestli je to čtení fakt takový problém..


Re:Těžké OOP problémy
« Odpověď #230 kdy: 11. 11. 2019, 20:03:50 »
To není problém. Však se taky většinou říká, že jazyk "má funkcionální konstrukce", těch čistých je minimum. Přesně podle definice.
No právě že těch čistých je minimum. Běžně se říká, že Erlang, Elixir, Clojure, ... jsou funkcionální jazyky a přitom ani jeden by takovou přísnou definici nesplňoval... Proto myslím, že jsou to spíš "shades of grey" - čím víc těch "vlastností funkcionálních jazyků" splňuje, tím víc je to funkcionální jazyk... Erlang a Elixir třeba celkem všechny, až na side effecty, takže tím padá i RT.

Mozna lepsi nez vycet vlastnosti ktere potrebuje jazyk mit aby ho slo povazovat za funkcionalni by byl vycet vlastnosti ktere mit nesmi.
Vychazim z toho, ze do jazyka muzu pridavat features a tim ho z ciste funkcionalniho zmenit na "spinavej", ale odebiranim features to nepujde.

Pak muzu rikat... dokud do haskelu nepridam side efekty tak zustane ciste funkcionalni.
Co jinyho nesmim pridat?

Nebo co musim odebrat z clojure, aby se stal ciste funkcionalnim?

Re:Těžké OOP problémy
« Odpověď #231 kdy: 11. 11. 2019, 20:19:35 »
Zkus aspoň tu wikipedii
Myslíš třeba tohle?

predicates have many different uses and interpretations in mathematics and logic, and their precise definition, meaning and use will vary from theory to theory.

aby sis všiml, že jsi napsal kravinu. [...] že mu to ani typově nesedí
I pro tebe platí to, co jsem psal gillovi: budu vděčnej každýmu, když v něčem, co jsem napsal, najde faktickou chybu a faktograficky ji opraví, s odkazem na relevantní zdroj. Upřímně ti za to předem děkuju, pakliže by ses rozhodl to udělat.
« Poslední změna: 11. 11. 2019, 20:23:23 od Mirek Prýmek »

Re:Těžké OOP problémy
« Odpověď #232 kdy: 11. 11. 2019, 20:22:27 »
Mozna lepsi nez vycet vlastnosti ktere potrebuje jazyk mit aby ho slo povazovat za funkcionalni by byl vycet vlastnosti ktere mit nesmi.
Jj, přesně tak. Ty vlastnosti, o kterých mluvím, jsou negativní - jsou to omezení.

Co jinyho nesmim pridat?
Třeba mutabilní struktury, sdílená data, ...

Nebo co musim odebrat z clojure, aby se stal ciste funkcionalnim?
Side effecty. Mutabilní data, která se dají sdílet, má Clojure myslím taky, ne? (Nevím, celému lispovskému světu se záměrně dost vyhýbám, nesedí mi to)

Re:Těžké OOP problémy
« Odpověď #233 kdy: 11. 11. 2019, 20:34:18 »
Pak muzu rikat... dokud do haskelu nepridam side efekty tak zustane ciste funkcionalni.

To záleží, jak je přidám. Takové IO je technicky vzato side efekt, ale nedělá to z Haskellu "špinavě" funkcionální jazyk. Nebo jak to myslíš?

Re:Těžké OOP problémy
« Odpověď #234 kdy: 11. 11. 2019, 20:35:11 »

Co jinyho nesmim pridat?
Třeba mutabilní struktury, sdílená data, ...
Mutace a side efekt... podle me jedno bez druheho nejde. Takze tam se asi vejdeme do te RT.
Sdilena data? Pokud jsou nemenitelna a persistentni tak to snad neni nic proti FP? Nebo se pletu?


Nebo co musim odebrat z clojure, aby se stal ciste funkcionalnim?
Side effecty. Mutabilní data, která se dají sdílet, má Clojure myslím taky, ne? (Nevím, celému lispovskému světu se záměrně dost vyhýbám, nesedí mi to)
Ma. Treba atom. Aspon ma garanci atomicity a nemusim ho "rucne" zamykat.
Ale samozrejme si muzu pridat dalsi omezeni a nepouzivat ho :-) treba knihovna quil ma fun mode.
Bez nej zapisuju nejaky stav do atomu a pak ho vykresluju.
S fun mode je tam smycka a stav se predava jako parametr kazde funkci.

Re:Těžké OOP problémy
« Odpověď #235 kdy: 11. 11. 2019, 20:37:05 »
Pak muzu rikat... dokud do haskelu nepridam side efekty tak zustane ciste funkcionalni.

To záleží, jak je přidám. Takové IO je technicky vzato side efekt, ale nedělá to z Haskellu "špinavě" funkcionální jazyk. Nebo jak to myslíš?

Ale fuj. Haskel si prece s IO nebude spinit funkce... To za nej vyresi runtime. Haskell mu jen taktne naznaci jak by to tak asi mohlo vypadat kdyby nahodou mel zajem delat nejaky IO... Ale nema, protoze to je prece fuj.

Kit

  • *****
  • 708
    • Zobrazit profil
    • E-mail
Re:Těžké OOP problémy
« Odpověď #236 kdy: 11. 11. 2019, 20:39:33 »
Nebo co musim odebrat z clojure, aby se stal ciste funkcionalnim?
Side effecty. Mutabilní data, která se dají sdílet, má Clojure myslím taky, ne? (Nevím, celému lispovskému světu se záměrně dost vyhýbám, nesedí mi to)

Mutabilita dělá Lisp Lispem. Nedělá rozdíl mezi programem a daty. Není mnoho jazyků, které se mohou pochlubit tím, že umí samy sebe modifikovat za plného provozu.

Re:Těžké OOP problémy
« Odpověď #237 kdy: 11. 11. 2019, 20:46:08 »
Zkus aspoň tu wikipedii
Myslíš třeba tohle?

predicates have many different uses and interpretations in mathematics and logic, and their precise definition, meaning and use will vary from theory to theory.

Ne, myslím to, že predikát je většinou brán jako funkce, která vrací True/False.

aby sis všiml, že jsi napsal kravinu. [...] že mu to ani typově nesedí
I pro tebe platí to, co jsem psal gillovi: budu vděčnej každýmu, když v něčem, co jsem napsal, najde faktickou chybu a faktograficky ji opraví, s odkazem na relevantní zdroj. Upřímně ti za to předem děkuju, pakliže by ses rozhodl to udělat.

Jo, to tu občas psáváš, ale pak místo uvědomění si chyby začneš plodit nějaké relativistické argumenty stylu predikát == vlastnost a tudíž je ok říct vlastnost je množina vlastností == predikát je množina predikátů. Člověk pak neví, jak vážně to má brát...

Re:Těžké OOP problémy
« Odpověď #238 kdy: 11. 11. 2019, 20:48:01 »
Pak muzu rikat... dokud do haskelu nepridam side efekty tak zustane ciste funkcionalni.

To záleží, jak je přidám. Takové IO je technicky vzato side efekt, ale nedělá to z Haskellu "špinavě" funkcionální jazyk. Nebo jak to myslíš?

Ale fuj. Haskel si prece s IO nebude spinit funkce... To za nej vyresi runtime. Haskell mu jen taktne naznaci jak by to tak asi mohlo vypadat kdyby nahodou mel zajem delat nejaky IO... Ale nema, protoze to je prece fuj.

Bereme-li to tak, tak ok.

Kit

  • *****
  • 708
    • Zobrazit profil
    • E-mail
Re:Těžké OOP problémy
« Odpověď #239 kdy: 11. 11. 2019, 20:53:52 »
Ne, myslím to, že predikát je většinou brán jako funkce, která vrací True/False.

Jo, to tu občas psáváš, ale pak místo uvědomění si chyby začneš plodit nějaké relativistické argumenty stylu predikát == vlastnost a tudíž je ok říct vlastnost je množina vlastností == predikát je množina predikátů. Člověk pak neví, jak vážně to má brát...

Nemůžeme za to, že za predikáty považuješ pouze jejich podmnožinu.