Programovanie a modne trendy?

tisnik

Re:Programovanie a modne trendy?
« Odpověď #180 kdy: 02. 09. 2017, 10:51:59 »
" Vezmete si ze mate auto a chcete mu zmenit barvu ... myslite, ze bude jednodussi mit immutable auto a vytvorit kopii auta s jinou barvou(i v realnem svete)? Ne, jednodussi bude tu barvu prestrikat."

no a tím se i do reálného světa vnesla nekonzistence a je zaděláno na průser - je nutné (ideálně v transakci :-/) změnit údaje ve velkém techničáku, v malém techničáku, megapoctivá ovečka by šla ještě oznámit, aby si MP změnila fotky z radarů :-) apod.

Dtto podobná "jednoduchá změna": osoba.setSurname("Novák"). No v SW jednoduché, v praktickém světě se po této změně ta osoba nachází v dost zvláštním režimu, třeba jí taky nemusí dát na poště její doporučený dopis, problémy v bance apod.apod.

Krátce - mutabilita je dost problematický koncept. Nebudu se moc rozepisovat, protože Rich Hickey o tom dokáže mluvit mnohem líp - https://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey. Fakt doporučuju přečíst, jinak budou debaty OOP vs FP dost plytké...

Model v počítači je homomorfní model reality, nemusí být izomorfní. Otázka tedy zní, potřebujeme izomorfní modely reality? Zajistí je imutabilita? A filozofická otázka na to navazující, je náš svět izomorfním modelem ideálů? Kvantová mechanika ukazuje, že nikoliv.

Vyborne, diky za potvrzeni, ze ani OOP modeluje pouze subset reality :) Ad kvantova mechanika - na to pozor, ona neni uplna, ma sve jasne dane meze.


Kit

Re:Programovanie a modne trendy?
« Odpověď #181 kdy: 02. 09. 2017, 10:56:40 »
" Vezmete si ze mate auto a chcete mu zmenit barvu ... myslite, ze bude jednodussi mit immutable auto a vytvorit kopii auta s jinou barvou(i v realnem svete)? Ne, jednodussi bude tu barvu prestrikat."

no a tím se i do reálného světa vnesla nekonzistence a je zaděláno na průser - je nutné (ideálně v transakci :-/) změnit údaje ve velkém techničáku, v malém techničáku, megapoctivá ovečka by šla ještě oznámit, aby si MP změnila fotky z radarů :-) apod.

Dtto podobná "jednoduchá změna": osoba.setSurname("Novák"). No v SW jednoduché, v praktickém světě se po této změně ta osoba nachází v dost zvláštním režimu, třeba jí taky nemusí dát na poště její doporučený dopis, problémy v bance apod.apod.

Krátce - mutabilita je dost problematický koncept. Nebudu se moc rozepisovat, protože Rich Hickey o tom dokáže mluvit mnohem líp - https://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey. Fakt doporučuju přečíst, jinak budou debaty OOP vs FP dost plytké...

Model v počítači je homomorfní model reality, nemusí být izomorfní. Otázka tedy zní, potřebujeme izomorfní modely reality? Zajistí je imutabilita? A filozofická otázka na to navazující, je náš svět izomorfním modelem ideálů? Kvantová mechanika ukazuje, že nikoliv.

Pokud vytváříme aplikaci pro registr vozidel či registr obyvatel, tak skutečně volání vozidlo.setColor("modrá") nebo osoba.setSurname("Novák") nedávají smysl. V každém vstupním formuláři do takového registru je těch kolonek mnohem víc.

Kiwi

Re:Programovanie a modne trendy?
« Odpověď #182 kdy: 02. 09. 2017, 12:16:35 »
" Vezmete si ze mate auto a chcete mu zmenit barvu ... myslite, ze bude jednodussi mit immutable auto a vytvorit kopii auta s jinou barvou(i v realnem svete)? Ne, jednodussi bude tu barvu prestrikat."

no a tím se i do reálného světa vnesla nekonzistence a je zaděláno na průser - je nutné (ideálně v transakci :-/) změnit údaje ve velkém techničáku, v malém techničáku, megapoctivá ovečka by šla ještě oznámit, aby si MP změnila fotky z radarů :-) apod.

Dtto podobná "jednoduchá změna": osoba.setSurname("Novák"). No v SW jednoduché, v praktickém světě se po této změně ta osoba nachází v dost zvláštním režimu, třeba jí taky nemusí dát na poště její doporučený dopis, problémy v bance apod.apod.

Krátce - mutabilita je dost problematický koncept. Nebudu se moc rozepisovat, protože Rich Hickey o tom dokáže mluvit mnohem líp - https://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey. Fakt doporučuju přečíst, jinak budou debaty OOP vs FP dost plytké...

Model v počítači je homomorfní model reality, nemusí být izomorfní. Otázka tedy zní, potřebujeme izomorfní modely reality? Zajistí je imutabilita? A filozofická otázka na to navazující, je náš svět izomorfním modelem ideálů? Kvantová mechanika ukazuje, že nikoliv.

Těchto termínů bych se raději vyvaroval. Ani QM bych do toho nemontoval.
Že počítačový model může být odlišný od reálného světa, se dá krásně ilustrovat na relačním databázovém modelu. Papírová kartotéka se vede odlišně, ale před relačním modelem se databáze modelovaly analogicky papírovým kartotékám, na něž byli tehdy lidé zvyklí. Že pro počítač je přirozenější odlišný model, to nebylo tenkrát tak zřejmé. Ale zároveň by to měla být motivace pro analytiky, navrhující strukturu programu a jeho dat, že intuitivní, přímočarý model reality může být hodně vzdálen optimálnímu abstraktnímu modelu, určenému počítači. Snaha křečovitě vytvářet paralelní abstraktní struktury k reálnému světu se velmi neblaze podepsala na objektovém návrhu - nebál bych se říci - většiny programů.

Ivan Nový

Re:Programovanie a modne trendy?
« Odpověď #183 kdy: 02. 09. 2017, 12:26:42 »
@tisnik

No on je nekonzistentní i ten reálný svět, například v našem makrosvětě světě jeden elektron, odpovídá jakby mnoha elektronům v kvantovém světě, náš makrosvět je neúplným homomorfním obrazem kvantového světa. A kvantový svět, zase neúplným snad homomorfním obrazem světa ideálů, který je pro nás empiricky nepoznatelný :-)

Aoidhghean

Re:Programovanie a modne trendy?
« Odpověď #184 kdy: 02. 09. 2017, 12:36:30 »
funkce jsou objekty jako třeba čísla
Čísla jsou nulární funkce ;)
funkce jsou objekty jako třeba čísla
Čísla jsou nulární funkce ;)
Konstanta je funkce, ale ne naopak, jak psal kit
můžete uvést citaci?
Čeho? Znalosti elementárních matematických definic očekávám u každého programátora.


Kiwi

Re:Programovanie a modne trendy?
« Odpověď #185 kdy: 02. 09. 2017, 12:38:11 »
@tisnik

No on je nekonzistentní i ten reálný svět, například v našem makrosvětě světě jeden elektron, odpovídá jakby mnoha elektronům v kvantovém světě, náš makrosvět je neúplným homomorfním obrazem kvantového světa. A kvantový svět, zase neúplným snad homomorfním obrazem světa ideálů, který je pro nás empiricky nepoznatelný :-)

Ne. Reálný svět je dokonale konzistentní ze své podstaty. Naše fyzikální modely reality nejsou dokonalé, neboť jsou založeny pouze na neúplné informaci o realitě.
XXXmorfismy jsou pojmy algebry, týkají se algebraických struktur. Jejich použití v kontextu, jaký naznačujete, je naprosto nevhodné.

Aoidhghean

Re:Programovanie a modne trendy?
« Odpověď #186 kdy: 02. 09. 2017, 12:41:19 »
@tisnik

No on je nekonzistentní i ten reálný svět, například v našem makrosvětě světě jeden elektron, odpovídá jakby mnoha elektronům v kvantovém světě, náš makrosvět je neúplným homomorfním obrazem kvantového světa. A kvantový svět, zase neúplným snad homomorfním obrazem světa ideálů, který je pro nás empiricky nepoznatelný :-)

Ne. Reálný svět je dokonale konzistentní ze své podstaty. Naše fyzikální modely reality nejsou dokonalé, neboť jsou založeny pouze na neúplné informaci o realitě.
XXXmorfismy jsou pojmy algebry, týkají se algebraických struktur. Jejich použití v kontextu, jaký naznačujete, je naprosto nevhodné.
Morfismy v nejobecnější podobě jsou pojmy z teorie kategorií, algebraické struktury jsou jen speciální případ.

Ivan Nový

Re:Programovanie a modne trendy?
« Odpověď #187 kdy: 02. 09. 2017, 12:47:57 »
@kiwi

No kvantová mechanika a náš pohled z makrosvěta (měření) je typický homomorfismus. Z našeho směru pohledu nedokážeme rozlišit entitu, ze které pochází obraz v našem světě a zřejmě platí, že kvantové entitě odpovídá právě jedna entita v našem světě (rozpad vlnové funkce měřením). A měření je de facto samotná existence každého hmotného objektu v našem světě. Směšné je, že změna v našem světě se nemusí projevit změnou v kvantovém světě. Takže situace je stejná jako v modelování světa počítačem. Tedy co do typu zobrazení.

Zajímavé je, že homomorfismus se nám zdá nepřirozený, ale je i ve světě, který nás obklopuje docela běžný. Komutativnost, kterou porušuje, je spíše jen matematická vlastnost algeber, která často nemá pokrytí v reálném světě a je často iluzorní. Ale školou naučeni proměřovat svět běžnou algebrou, tíhneme k izomorfismu, aby byla komutativnost zaručena, cítíme se tak ve známém prostředí i když odporuje realitě.

A to se samozřejmě promítá i do paradigmatu programování.

Zajímavá přednáška zde https://www.youtube.com/watch?v=JI9-p_dIlB0

Ivan Nový

Re:Programovanie a modne trendy?
« Odpověď #188 kdy: 02. 09. 2017, 12:53:52 »
@tisnik

No on je nekonzistentní i ten reálný svět, například v našem makrosvětě světě jeden elektron, odpovídá jakby mnoha elektronům v kvantovém světě, náš makrosvět je neúplným homomorfním obrazem kvantového světa. A kvantový svět, zase neúplným snad homomorfním obrazem světa ideálů, který je pro nás empiricky nepoznatelný :-)

Ne. Reálný svět je dokonale konzistentní ze své podstaty. Naše fyzikální modely reality nejsou dokonalé, neboť jsou založeny pouze na neúplné informaci o realitě.
XXXmorfismy jsou pojmy algebry, týkají se algebraických struktur. Jejich použití v kontextu, jaký naznačujete, je naprosto nevhodné.

To máte pohled newtonovské fyziky. Fyzikální modely nejsou dokonalé ne proto, že jsou založeny na neúplné informaci o realitě, ale proto, že některé oblasti nejsou poznatelné jako takové a to je jejich fundamentální vlastnost.

Ivan Nový

Re:Programovanie a modne trendy?
« Odpověď #189 kdy: 02. 09. 2017, 13:19:33 »
@ kiwi

Ideálem jsem nemyslel algebraickou strukturu, ale ideál (ideu) v platonském smyslu. Málo kdy se vyjadřuji terminologicky přesně. Moje chyba.

Re:Programovanie a modne trendy?
« Odpověď #190 kdy: 02. 09. 2017, 14:33:25 »
Reálný svět je dokonale konzistentní ze své podstaty.
Jaký má tahle věta význam? Vůbec jí nerozumím. Co vlastně o tom reálném světě říká?

Kiwi

Re:Programovanie a modne trendy?
« Odpověď #191 kdy: 02. 09. 2017, 22:05:19 »
Reálný svět je dokonale konzistentní ze své podstaty.
Jaký má tahle věta význam? Vůbec jí nerozumím. Co vlastně o tom reálném světě říká?

Reakce na fyzikální modely reálného světa. Naše teorie, naše modely reálného světa nejsou konzistentní, ale to neznamená, že sám reálný svět kvůli tomu není konzistentní. Reálný svět, tedy Vesmír, samozřejmě konzistentní je, tedy všechny jeho složky navzájem. V našem teoretickém modelu kupř. nejde dohromady kvantovka s obecnou relativitou. Ale v reálném světě žádná nekonzistence v tomto ohledu neexistuje, žádné core dumpy na nás odnikud nevyskakují.

Ale to jsou zase ty páně Nového široké příměry a analogie, podle mě trochu zbytečně obšírné. V tomto jsem přízemní - kvantová teorie se snaží modelovat chování mikrosvěta a tak ji taky beru, ne jako nějakou filosofii. Algebra analyzuje abstraktní, dobře definované matematické objekty a v této oblasti taky chápu její terminologii, přesně zavedenou. Ale nevidím rád, když se tím začne argumentovat při aplikaci na objekty mimo její rámec. Buď tedy nejdřív dokážu, že daný reálný objekt se dá reprezentovat třeba svazem, a pak mohu šermovat izomorfismy, automorfismy dle libosti. Ovšem bez toho je to na úrovni disputace, co by asi tak mohlo být opakem krávy.

Re:Programovanie a modne trendy?
« Odpověď #192 kdy: 02. 09. 2017, 22:28:10 »
Reakce na fyzikální modely reálného světa. Naše teorie, naše modely reálného světa nejsou konzistentní, ale to neznamená, že sám reálný svět kvůli tomu není konzistentní.
Ale co by to mělo znamenat, že "svět je konzistentní" nebo "nekonzistentní"?!

Teorie je nekonzistentní (sporná) [sama se sebou] tehdy, když je v ní nějaký rozpor (tvrdí A a zároveň nonA).

Dvě různé teorie můžou být nekonzistentní navzájem, když jedna tvrdí A a druhá nonA.

Model reálného světa může být nekonzistentní s tím světem, jestliže předpovídá A a přitom v reálném světě platí nonA.

Jak by ale mohl být konzistentní nebo nekonzistentní reálný svět [sám se sebou]?! Svět prostě je takový, jaký je. Nic netvrdí. Žádné A a nonA v něm neexistuje. Kritérium konzistence pro něj nemá smysl stejně jako nemá smysl chuť pro zvuk. Svět prostě jenom JE.
« Poslední změna: 02. 09. 2017, 22:31:00 od Mirek Prýmek »

Ivan Nový

Re:Programovanie a modne trendy?
« Odpověď #193 kdy: 02. 09. 2017, 22:42:35 »
Reálný svět je dokonale konzistentní ze své podstaty.
Jaký má tahle věta význam? Vůbec jí nerozumím. Co vlastně o tom reálném světě říká?

Reakce na fyzikální modely reálného světa. Naše teorie, naše modely reálného světa nejsou konzistentní, ale to neznamená, že sám reálný svět kvůli tomu není konzistentní. Reálný svět, tedy Vesmír, samozřejmě konzistentní je, tedy všechny jeho složky navzájem. V našem teoretickém modelu kupř. nejde dohromady kvantovka s obecnou relativitou. Ale v reálném světě žádná nekonzistence v tomto ohledu neexistuje, žádné core dumpy na nás odnikud nevyskakují.

Ale to jsou zase ty páně Nového široké příměry a analogie, podle mě trochu zbytečně obšírné. V tomto jsem přízemní - kvantová teorie se snaží modelovat chování mikrosvěta a tak ji taky beru, ne jako nějakou filosofii. Algebra analyzuje abstraktní, dobře definované matematické objekty a v této oblasti taky chápu její terminologii, přesně zavedenou. Ale nevidím rád, když se tím začne argumentovat při aplikaci na objekty mimo její rámec. Buď tedy nejdřív dokážu, že daný reálný objekt se dá reprezentovat třeba svazem, a pak mohu šermovat izomorfismy, automorfismy dle libosti. Ovšem bez toho je to na úrovni disputace, co by asi tak mohlo být opakem krávy.

No spíše mi tentokrát šlo o vidění homomorfismů kolem sebe a jejich modelování, že jsou docela obvyklé, tvrdím, že lidé díky výchově, tedy znalosti počítání, sklouzávají k izomorfismům, i programátoři, tam kde by stačil homomorfismus, cpou izomorfismus, u "sčítání" a "násobení" chtějí, aby bylo komutativní, když v realitě většinou komutativní je málo co. Takové podvědomé tíhnutí k izomorfismům se zdá býti dnes moderní. A napadlo mě to, když tady někdo požadoval v souvislostí s FP a OOP, aby jimi popisovaný model měl izomorfní vztah k realitě a tím zdůvodňoval nutnost používání imutability.

Jinak v reálném makrosvětě na nás core dumpy vyskakují, je na nich postavena současná elektronika, která právě využívá takového core dumpu - tunelového jevu :-)))


v

Re:Programovanie a modne trendy?
« Odpověď #194 kdy: 03. 09. 2017, 10:45:57 »
funkce jsou objekty jako třeba čísla
Čísla jsou nulární funkce ;)
funkce jsou objekty jako třeba čísla
Čísla jsou nulární funkce ;)
Konstanta je funkce, ale ne naopak, jak psal kit
můžete uvést citaci?
Čeho? Znalosti elementárních matematických definic očekávám u každého programátora.
tohohle:
Konstanta je funkce