Jak si rozšiřujete své vědomosti?

Re:Jak si rozšiřujete své vědomosti?
« Odpověď #45 kdy: 14. 04. 2016, 17:43:50 »
Jinak psát v nějakém funkcionálním jazyce bez znalosti teorie kategorií je k ničemu, protože člověk pak nechápe základní principy a získá "blbé" návyky, kterých se pak těžko zbavuje.
A mohl bys uvest konkretni priklad takoveho navyku a aspon naznacit, proc ho bez znalosti TK podle tebe clovek ziska?


noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Jak si rozšiřujete své vědomosti?
« Odpověď #46 kdy: 14. 04. 2016, 17:52:50 »
Jinak psát v nějakém funkcionálním jazyce bez znalosti teorie kategorií je k ničemu, protože člověk pak nechápe základní principy a získá "blbé" návyky, kterých se pak těžko zbavuje. Jinými slovy, chce to dobrou knížku nebo radu zkušeného.

To me pripomnelo Crockforda:
Citace
The people would try to teach you this stuff would say that:

In order to understand monads, you need to first learn Haskell and Category Theory.

I think this is like saying:

In order to understand burritos, you must first learn Spanish.
;D

Osobne netusim, co je na tom pravdy, protoze TK neznam a z FP pouzivam asi spise zaklady.

Re:Jak si rozšiřujete své vědomosti?
« Odpověď #47 kdy: 14. 04. 2016, 17:57:10 »
Osobne netusim, co je na tom pravdy, protoze TK neznam a z FP pouzivam asi spise zaklady.
Podle me je to prani otcem myslenky, protoze treba takove promises pouzivaji i ti nejslabsi javascriptari bez problemu a nejenomze monady ani TK neznaji, ale ani nevi, ze promises jsou monady. Aby to nebylo tak, ze nekdo nevi, ze to nejde, tak to udela ;)

Ale treba zboj nejaky silny argument pro tohle tvrzeni ma, proto jsem se ho na to ptal.

...anebo je to opet klasicke terminologicke nedorozumeni a kdyz zboj rika "spatne navyky", tak tim mysli bezchybny kod, ktery ale neni napsany s vedomim vsech souvislosti ve vesmiru ;)

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Jak si rozšiřujete své vědomosti?
« Odpověď #48 kdy: 14. 04. 2016, 18:17:49 »
Jinak psát v nějakém funkcionálním jazyce bez znalosti teorie kategorií je k ničemu, protože člověk pak nechápe základní principy a získá "blbé" návyky, kterých se pak těžko zbavuje. Jinými slovy, chce to dobrou knížku nebo radu zkušeného.

To me pripomnelo Crockforda:
Citace
The people would try to teach you this stuff would say that:

In order to understand monads, you need to first learn Haskell and Category Theory.

I think this is like saying:

In order to understand burritos, you must first learn Spanish.
;D

Osobne netusim, co je na tom pravdy, protoze TK neznam a z FP pouzivam asi spise zaklady.
S burritos jsem konverzaci nikdy nevedl, tak nevím, nakolik to přirovnání sedí, ale monády *jsou* koncept z teorie kategorií a základní povědomí o ní je užitečné, stejně jako při práci s Prologem je dobré znát formální logiku, aby si pak člověk naivně nemyslel (nebo nedejbože se ještě o tom do krve hádal), že v Prologu nejde naimplementovat například modální nebo třeba intenzionální logika. Ony i imperativní jazyky mají formální základ, jenže ten se učí tak nějak za běhu (a nikdo si nestěžuje).

Re:Jak si rozšiřujete své vědomosti?
« Odpověď #49 kdy: 14. 04. 2016, 19:02:33 »
základní povědomí o ní je užitečné, stejně jako při práci s Prologem je dobré znát formální logiku, aby si pak člověk naivně nemyslel (nebo nedejbože se ještě o tom do krve hádal), že v Prologu nejde naimplementovat například modální nebo třeba intenzionální logika.
Kvituji rýpnutí do mě :) Co nekvituju, je, že jsi to posunul úplně jako obratný a zkušený manipulátor, vypadá to, že to máš zmáklý :)

Nicméně k věci: směšuješ dvě zásadně odlišný záležitosti:
  • schopnost napsat (adekvátně) kvalitní kód - tj. používat nějaký systém, pohybovat se "uvnitř něj" = úroveň
  • tvrdit něco o tom systému = metaúroveň
Prvně jsi mluvil o tom prvním ("špatné návyky" každý pochopí jako "špatný kód" = úroveň).

Že jsou potřeba nějaké lepší/hlubší znalosti potřeba pro to druhé, nebude nikdo rozumný zpochybňovat. Ale taky to nikdo běžně v praxi nepotřebuje. Když to řeknu hodně lapidárně (a nechám si za to nadávat do lopat, což zaručeně přijde), pokud už nakrásně mám problém "můžu prologem zachytit modality?", tak ho normální člověk bude řešit buď tím, že se obrátí na někoho, kdo tomu rozumí, nebo (tramtadadá) prostě do googlu zadá "prolog modalities" - a pro běžnou situaci mu to bude stačit, protože si prostě přečte pár pojednání o tom, jestli modality v prologu jdou nebo ne a za jakých podmínek. K tomu, aby to uměl zodpovědně zodpovědět sám, by stejně musel mít tolik znalostí, že jejich nabytí by bylo neadekvátně drahé a v samotném programování (úroveň) by mu to stejně nebylo vůbec k ničemu.

S burritos jsem konverzaci nikdy nevedl, tak nevím, nakolik to přirovnání sedí
Vzhledem k tvé inteligenci a vzdělání tohle taky nejde brát jinak než jako (obratnou! to člověk musí uznat)  manipulaci. V tom vtipu samozřejmě nejde o to, že bys s burritem mluvil, ale o to, že by někdo mohl tvrdit, že pro vychutnání si burrita pořebuje člověk nutně chápat celý kontext, španělskou kulturu, atd. atd. - přesně jako někdo tvrdí to, že k programování je potřeba znát CT. Není. Burrito prostě sežereš, program prostě napíšeš. Jo, když k tomu má někdo kontext, vychutná si to asi líp, napíše lepší kód. Asi. Možná. Dá se to předpokládat.

, ale monády *jsou* koncept z teorie kategorií a
Když jsi tady zmínil tu analytickou filosofii, nepřijde ti, že by bylo docela legitimní říct, že monády se k CT mají stejně jako se má zajíc k biologii? Je zajíc "konceptem z biologie"? Je potřeba znát taxonomii savců k tomu, aby mohl člověk jít na hon?

Ony i imperativní jazyky mají formální základ, jenže ten se učí tak nějak za běhu (a nikdo si nestěžuje).
Což jde úplně stejně i u FP. Akorátže FP je natolik prorostlé s akademickým prostředím, že kolem něj doteď dost panovala a někde i dál panuje "elitářská" atmosféra. V uvozovkách, protože já tomu postoji docela rozumím:

"A monad is just a monoid in the category of endofunctors", tím je to vysvětleno a pokud to narozdíl od nás vědců nechápete, tak si to dostudujte, nebo to možná není jazyk pro vás. Nashledanou.

...je to z určitýho úhlu pohledu legitimní a určitě racionální postoj. Jenom je to prostě postoj autisty.


zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Jak si rozšiřujete své vědomosti?
« Odpověď #50 kdy: 14. 04. 2016, 19:25:43 »
základní povědomí o ní je užitečné, stejně jako při práci s Prologem je dobré znát formální logiku, aby si pak člověk naivně nemyslel (nebo nedejbože se ještě o tom do krve hádal), že v Prologu nejde naimplementovat například modální nebo třeba intenzionální logika.
Kvituji rýpnutí do mě :) Co nekvituju, je, že jsi to posunul úplně jako obratný a zkušený manipulátor, vypadá to, že to máš zmáklý :)

Nicméně k věci: směšuješ dvě zásadně odlišný záležitosti:
  • schopnost napsat (adekvátně) kvalitní kód - tj. používat nějaký systém, pohybovat se "uvnitř něj" = úroveň
  • tvrdit něco o tom systému = metaúroveň
Prvně jsi mluvil o tom prvním ("špatné návyky" každý pochopí jako "špatný kód" = úroveň).

Že jsou potřeba nějaké lepší/hlubší znalosti potřeba pro to druhé, nebude nikdo rozumný zpochybňovat. Ale taky to nikdo běžně v praxi nepotřebuje. Když to řeknu hodně lapidárně (a nechám si za to nadávat do lopat, což zaručeně přijde), pokud už nakrásně mám problém "můžu prologem zachytit modality?", tak ho normální člověk bude řešit buď tím, že se obrátí na někoho, kdo tomu rozumí, nebo (tramtadadá) prostě do googlu zadá "prolog modalities" - a pro běžnou situaci mu to bude stačit, protože si prostě přečte pár pojednání o tom, jestli modality v prologu jdou nebo ne a za jakých podmínek. K tomu, aby to uměl zodpovědně zodpovědět sám, by stejně musel mít tolik znalostí, že jejich nabytí by bylo neadekvátně drahé a v samotném programování (úroveň) by mu to stejně nebylo vůbec k ničemu.

S burritos jsem konverzaci nikdy nevedl, tak nevím, nakolik to přirovnání sedí
Vzhledem k tvé inteligenci a vzdělání tohle taky nejde brát jinak než jako (obratnou! to člověk musí uznat)  manipulaci. V tom vtipu samozřejmě nejde o to, že bys s burritem mluvil, ale o to, že by někdo mohl tvrdit, že pro vychutnání si burrita pořebuje člověk nutně chápat celý kontext, španělskou kulturu, atd. atd. - přesně jako někdo tvrdí to, že k programování je potřeba znát CT. Není. Burrito prostě sežereš, program prostě napíšeš. Jo, když k tomu má někdo kontext, vychutná si to asi líp, napíše lepší kód. Asi. Možná. Dá se to předpokládat.

, ale monády *jsou* koncept z teorie kategorií a
Když jsi tady zmínil tu analytickou filosofii, nepřijde ti, že by bylo docela legitimní říct, že monády se k CT mají stejně jako se má zajíc k biologii? Je zajíc "konceptem z biologie"? Je potřeba znát taxonomii savců k tomu, aby mohl člověk jít na hon?

Ony i imperativní jazyky mají formální základ, jenže ten se učí tak nějak za běhu (a nikdo si nestěžuje).
Což jde úplně stejně i u FP. Akorátže FP je natolik prorostlé s akademickým prostředím, že kolem něj doteď dost panovala a někde i dál panuje "elitářská" atmosféra. V uvozovkách, protože já tomu postoji docela rozumím:

"A monad is just a monoid in the category of endofunctors", tím je to vysvětleno a pokud to narozdíl od nás vědců nechápete, tak si to dostudujte, nebo to možná není jazyk pro vás. Nashledanou.

...je to z určitýho úhlu pohledu legitimní a určitě racionální postoj. Jenom je to prostě postoj autisty.
Nějak nevím, cos tím vším chtěl říct. Ale kvůli tobě mám teď chuť na burritos :/ A nejlepší, co tu maj, je fish & ships, čili slovy Samuela Jacksona "national dish? more like a national disaster". Jinak teda k věci, už jsi pochopil, proč je modální logika fragmentem FOL?

v

Re:Jak si rozšiřujete své vědomosti?
« Odpověď #51 kdy: 14. 04. 2016, 19:33:29 »
Nějak nevím, cos tím vším chtěl říct. Ale kvůli tobě mám teď chuť na burritos :/ A nejlepší, co tu maj, je fish & ships, čili slovy Samuela Jacksona "national dish? more like a national disaster". Jinak teda k věci, už jsi pochopil, proč je modální logika fragmentem FOL?
které matematické důkazy byste teda doporučil k prostudování?
Haskell už jsem jakž takž pobral, Prolog mi sice přijde zajímavý, ale na hovno, tak teď snad ta základní matematika

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Jak si rozšiřujete své vědomosti?
« Odpověď #52 kdy: 14. 04. 2016, 19:41:38 »
Nějak nevím, cos tím vším chtěl říct. Ale kvůli tobě mám teď chuť na burritos :/ A nejlepší, co tu maj, je fish & ships, čili slovy Samuela Jacksona "national dish? more like a national disaster". Jinak teda k věci, už jsi pochopil, proč je modální logika fragmentem FOL?
které matematické důkazy byste teda doporučil k prostudování?
Haskell už jsem jakž takž pobral, Prolog mi sice přijde zajímavý, ale na hovno, tak teď snad ta základní matematika
Neřekl bych, že seznam důkazů je vhodný výchozí bod. Ale pro začátek bych doporučil například rovnostní logiku a k prostudování důkaz její úplnosti (Birkhoffova věta), protože stejně se dokazuje i úplnost FOL (jen to je složitější). Zároveň tak člověk dojde i k tomu, proč Prolog není na hovno ;)

v

Re:Jak si rozšiřujete své vědomosti?
« Odpověď #53 kdy: 14. 04. 2016, 19:46:31 »
Nějak nevím, cos tím vším chtěl říct. Ale kvůli tobě mám teď chuť na burritos :/ A nejlepší, co tu maj, je fish & ships, čili slovy Samuela Jacksona "national dish? more like a national disaster". Jinak teda k věci, už jsi pochopil, proč je modální logika fragmentem FOL?
které matematické důkazy byste teda doporučil k prostudování?
Haskell už jsem jakž takž pobral, Prolog mi sice přijde zajímavý, ale na hovno, tak teď snad ta základní matematika
Neřekl bych, že seznam důkazů je vhodný výchozí bod. Ale pro začátek bych doporučil například rovnostní logiku a k prostudování důkaz její úplnosti (Birkhoffova věta), protože stejně se dokazuje i úplnost FOL (jen to je složitější). Zároveň tak člověk dojde i k tomu, proč Prolog není na hovno ;)
"na hovno" tady má velmi specifický význam - že nevím co bych v tom dělal

Kit

Re:Jak si rozšiřujete své vědomosti?
« Odpověď #54 kdy: 14. 04. 2016, 19:57:50 »
"na hovno" tady má velmi specifický význam - že nevím co bych v tom dělal

Kód: [Vybrat]
hovno = 0
na n = 1 ^ n
*Main> na hovno
1

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Jak si rozšiřujete své vědomosti?
« Odpověď #55 kdy: 14. 04. 2016, 20:02:05 »
Nějak nevím, cos tím vším chtěl říct. Ale kvůli tobě mám teď chuť na burritos :/ A nejlepší, co tu maj, je fish & ships, čili slovy Samuela Jacksona "national dish? more like a national disaster". Jinak teda k věci, už jsi pochopil, proč je modální logika fragmentem FOL?
které matematické důkazy byste teda doporučil k prostudování?
Haskell už jsem jakž takž pobral, Prolog mi sice přijde zajímavý, ale na hovno, tak teď snad ta základní matematika
Neřekl bych, že seznam důkazů je vhodný výchozí bod. Ale pro začátek bych doporučil například rovnostní logiku a k prostudování důkaz její úplnosti (Birkhoffova věta), protože stejně se dokazuje i úplnost FOL (jen to je složitější). Zároveň tak člověk dojde i k tomu, proč Prolog není na hovno ;)
"na hovno" tady má velmi specifický význam - že nevím co bych v tom dělal
Prolog je na umělou inteligenci, zazářil například v IBM Watson.

Re:Jak si rozšiřujete své vědomosti?
« Odpověď #56 kdy: 14. 04. 2016, 20:30:43 »
Nějak nevím, cos tím vším chtěl říct.
Stane se.

Jinak teda k věci, už jsi pochopil, proč je modální logika fragmentem FOL?
A ty už jsi pochopil, jak moc je modální logika, která je fragmentem FOL, omezená? Tak omezená, že pomocí ní nepopíšeš ani svět, jak ho vnímá pětileté dítě? A že já jsem tehdá mluvil o logice, která myšlení pětiletého dítěte přesahuje, takže tvoje poznámka byla úplně irelevantní, což je ve spojení s tvým komunikačním stylem dost matoucí? Je to fakt škoda, tvoje znalosti a schopnosti by se daly využít k většímu užitku ostatních...

Prolog mi sice přijde zajímavý, ale na hovno
Prolog je skvělý na to, co jsem psal výš. Pokud se použije fakt jenom na to dotazování nad daty a ta výkonná logika se napíše v něčem jiným, je nedostižný. Jednou jsem třeba zkoušel, jak by se pomocí něj dal napsat čistý a silný configuration management - čistě praktická věc, perspektivně o řád lepší než existující řešení. A mám z toho pokusu dojem, že by to mohlo jít. Proof of concept: https://github.com/mprymek/symconfig (tohle je hodně počáteční verze, na disku to mám teď už v daleko lepší podobě, ale nechce se mi to zatím zveřejňovat, chce to ještě práci, na kterou teď nemám čas).

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Jak si rozšiřujete své vědomosti?
« Odpověď #57 kdy: 14. 04. 2016, 20:37:29 »
Nějak nevím, cos tím vším chtěl říct.
Stane se.

Jinak teda k věci, už jsi pochopil, proč je modální logika fragmentem FOL?
A ty už jsi pochopil, jak moc je modální logika, která je fragmentem FOL, omezená? Tak omezená, že pomocí ní nepopíšeš ani svět, jak ho vnímá pětileté dítě? A že já jsem tehdá mluvil o logice, která myšlení pětiletého dítěte přesahuje, takže tvoje poznámka byla úplně irelevantní, což je ve spojení s tvým komunikačním stylem dost matoucí? Je to fakt škoda, tvoje znalosti a schopnosti by se daly využít k většímu užitku ostatních...

Prolog mi sice přijde zajímavý, ale na hovno
Prolog je skvělý na to, co jsem psal výš. Pokud se použije fakt jenom na to dotazování nad daty a ta výkonná logika se napíše v něčem jiným, je nedostižný. Jednou jsem třeba zkoušel, jak by se pomocí něj dal napsat čistý a silný configuration management - čistě praktická věc, perspektivně o řád lepší než existující řešení. A mám z toho pokusu dojem, že by to mohlo jít. Proof of concept: https://github.com/mprymek/symconfig (tohle je hodně počáteční verze, na disku to mám teď už v daleko lepší podobě, ale nechce se mi to zatím zveřejňovat, chce to ještě práci, na kterou teď nemám čas).

1) Tys tehdy explicitně mluvil o S4 nebo S5 (z hlavy už nevím), a to jsou fragmenty FOL, jenže tys tvrdil, že na to je potřeba logika vyššího řádu, možná víc než dva, což není pravda, stačí FOL (a navíc logika 2. řádu není slabší než miliontého řádu). K diskusi o myšlení pětiletých dětí by to myslím chtělo spíše psychologa, a to nejsem.

2) Prolog je dost dobrý pro IBM Watson, ale nehodí se na vše, pochopitelně. V SQL se taky nepíšou hry...

Re:Jak si rozšiřujete své vědomosti?
« Odpověď #58 kdy: 14. 04. 2016, 20:42:19 »
1) Tys tehdy explicitně mluvil o S4 nebo S5 (z hlavy už nevím), a to jsou fragmenty FOL, jenže tys tvrdil, že na to je potřeba logika vyššího řádu, možná víc než dva, což není pravda, stačí FOL (a navíc logika 2. řádu není slabší než miliontého řádu). K diskusi o myšlení pětiletých dětí by to myslím chtělo spíše psychologa, a to nejsem.
Řešíš nějaký svůj konkrétní problém? Nebo? Jestli ti jde o to, abych uznal, že logice rozumíš líp než já, tak to je myslím zřejmý. A jestli to chceš explicitně slyšet, klidně to sem slavnostně vyvěsím v PDFku ;) A jestli ti jde o to, udělat ze mě pitomce, tak přeju hodně štěstí ke kvalitním životním cílům :) Každopádně ale ani kvůli jednomu myslím nemá smysl se k té diskusi vracet, pokud zásadně nezměníme styl komunikace.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Jak si rozšiřujete své vědomosti?
« Odpověď #59 kdy: 14. 04. 2016, 20:47:24 »
1) Tys tehdy explicitně mluvil o S4 nebo S5 (z hlavy už nevím), a to jsou fragmenty FOL, jenže tys tvrdil, že na to je potřeba logika vyššího řádu, možná víc než dva, což není pravda, stačí FOL (a navíc logika 2. řádu není slabší než miliontého řádu). K diskusi o myšlení pětiletých dětí by to myslím chtělo spíše psychologa, a to nejsem.
Řešíš nějaký svůj konkrétní problém? Nebo? Jestli ti jde o to, abych uznal, že logice rozumíš líp než já, tak to je myslím zřejmý. A jestli to chceš explicitně slyšet, klidně to sem slavnostně vyvěsím v PDFku ;) A jestli ti jde o to, udělat ze mě pitomce, tak přeju hodně štěstí ke kvalitním životním cílům :) Každopádně ale ani kvůli jednomu myslím nemá smysl se k té diskusi vracet, pokud zásadně nezměníme styl komunikace.
Jo, styl komunikace bude jeden z problémů. Konkrétně tvoje "okecávání". Zkus používat jen matematické symboly, to by mohlo pomoct (prakticky i psychicky, navíc by tak zůstaly jen věcné argumenty, ať už korektní nebo vyvratitelné jiným věcným argumentem) ;)