Dědičnost dnes

balki

Re:Dědičnost dnes
« Odpověď #750 kdy: 31. 01. 2017, 22:34:25 »
čímž nasrali pana Hilberta
Hilbert byl nasranej, protoze na neho v hospode zbyla zidle, stul, ale zadnej korbel piva!
Důkaz? :P

Vcera mi to povedal. Taktiez spomenul Entscheidungsproblem.  Ale so svojim semestrom formalnych jazykov a vypocitatelnosti som mu nerozumel. Ale uz sa mozem bavit so zbojom, tym geniom!


Re:Dědičnost dnes
« Odpověď #751 kdy: 31. 01. 2017, 22:43:39 »
Důkaz? :P
To prave nelze ani dokazat ani vyvratit.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #752 kdy: 31. 01. 2017, 22:47:12 »
Důkaz? :P
To prave nelze ani dokazat ani vyvratit.
No pana Hilberta se už asi nezeptáme...

balki

Re:Dědičnost dnes
« Odpověď #753 kdy: 31. 01. 2017, 23:14:30 »
Funkcionalne programovanie je hlavne neintuitivne, preto sa netesi popularite. Ked programujem funkcionalne pripadam si ako matfyzak, ktory zo seba suka definicie. Nie ako bezny clovek, co si povie, ze teraz spravim toto a potom hento ...  Riesit veci cez definicie,  listy a rekurzie, bez vedlajsich efektov to je dobre mentalne cvicenie, no na problemy z praxe je fp nesikovny nastroj.

Ja mam opacnou zkusenost. Dlouho jsem se FP vyhybal, ale kdyz jsem si to zkusil, zjistil jsem, ze muj kod je prehlednejsi (protoze me to opravdu nuti ho lepe abstrahovat). A i kdyz to nemohu zatim moc pouzit, pral bych si, abych mohl.

A jinak nekteri lide tvrdi, ze lidem, kteri se s programovanim nikdy nesetkali, jde funkcionalni programovani lepe. Ono to "intuitivni" je o zvyku, lide se proste moc nechteji ucit neco zcela jineho, kdyz uz se to nejak naucili ve skole.

Co si spominam v letnom tabore na pmd-85, tak vacsinou sme programovali nejake obrazky (imperativne). Co je side effect. Alebo jednoduche hry so vstupno vystupnymi operaciami. System vypocet derivacii by nas asi nenadchol :) (pozn. prehnany priklad)

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #754 kdy: 01. 02. 2017, 08:04:15 »
...
Co si spominam v letnom tabore na pmd-85, tak vacsinou sme programovali nejake obrazky (imperativne). Co je side effect. Alebo jednoduche hry so vstupno vystupnymi operaciami. System vypocet derivacii by nas asi nenadchol :) (pozn. prehnany priklad)

Zrovna rendrovani obrazku nebude problem napsat v podstate cely funkcionalne, protoze jedinny side-efect je na konci zobrazeni. Ty hry uz nebudou tak trivialni, ale treba v Haskellu to ta "do notace" dost usnadnuje (vypada to zatracene imperativne).


SB

Re:Dědičnost dnes
« Odpověď #755 kdy: 01. 02. 2017, 09:10:43 »
...Mozna je problem v te predstave, ze produkce SW musi byt masova.. Mozna kdyby se od toho ustoupilo, redukovalo by se to prave na dobre pasujici dilky (skrze typovy system) a nebylo by potreba tolik lidi.

Produkce SW JE dnes masová, v oboru je nalezlých mraky lidí, kteří by tam být neměli. Jo, Javaman taky rád typování.

Moje zkusenost je takova, ze znovupouzitelnost FP kodu je mnohem vyssi nez u OOP kodu. Prave proto, ze to nuti cloveka rozbit ten problem na male dilky, a prave proto, ze se data neskryvaji.

Takze, pokud chces, aby software byl jako LEGO, a nerozpadl se, az tech dilku bude moc, FP (aka treba Haskell) je ta prava cesta.

Musím přiznat, že takovéto paušální názory mě děsí a opět mi připomínají, že mnoho vývojářů, kteří nezvládli OOP, bude přecházet na další řešení, které pochopitelně opět nebude fungovat. Z předchozích textů jsem nabyl dojmu, že (alespoň pro některé) je otevření dat řešením jejich neschopnosti správně podproblémy rozeznat, oddělit a zpracovat (nic nového pod sluncem).

SB

Re:Dědičnost dnes
« Odpověď #756 kdy: 01. 02. 2017, 09:17:30 »

Napr. kdyz se rozhodnu nejaky pointer zmenit nebo odebrat. Pokud mam cyklickou strukturu, musim mit neco, co vi o vsech ostatnich pointerech na ten dany objekt, aby bylo mozne rozhodnout, zda ho uvolnit. Nebo kdyz si nekde jinde drzim nejakou informaci, ktera zavisi na strukture tech pointeru, musim tu informaci upravit. Takze nestaci jenom potencialne cyklicka sit objektu, musi byt nejake dalsi ridici objekty, ktere resi tyhle situace. Ja si aspon nedovedu predstavit, ze bych graf mel reprezentovany jen pomoci uzlu, aniz bych treba vedel, kolik jich je.

(Proto je v databazich schema centralizovane, aby se mohl vytvorit provadeci plan.)

Jmenuje se to garbage collector.
Já si to představit umím.
(?????)

Re:Dědičnost dnes
« Odpověď #757 kdy: 01. 02. 2017, 09:23:56 »
Protože já stále vidím, že mícháte dva problémy: jak se dají řešit programátorské problémy a jak se dají řešit lidské problémy programátorů (tedy především domluva, respektive neschopnost se domluvit).
GOF naopak velmi správně naznali, že toto klasické řešení "jsme všichni fundovaní matematici, takže se domluvíme matematickými abstrakcemi" je naprosto nefunkční v době masové produkce SW.

Jestli tohle byl zamer GoF, tak o nich mam jeste horsi mineni. Vytvorenim dalsi zbytecne terminologie se komunikacni problem nevyresi.
No, nevím, tím bych si nebyl tak jist. Je to standardní byrokratický postup. A paradoxem byrokracie je, že přes zjevnou nefunkčnost a neefektivitu je v historickém měřítku neuvěřitelně úspěšná, takže funkční.

Mozna je problem v te predstave, ze produkce SW musi byt masova..
 Mozna kdyby se od toho ustoupilo, redukovalo by se to prave na dobre pasujici dilky (skrze typovy system) a nebylo by potreba tolik lidi.
Produkce SW prostě masová JE. Otázka zda musí nebo ne patří do oblasti (politické) ekonomie, nemá nic společného s matematikou nebo computer science.


Je ale pravda že v dnešní době už opravdu nazrál čas na to, aby někdo zorganizoval "FP GOF" a přišli s konceptem jak zasadit FP do korporátní byrokracie. Pokud se tak nestane, tak z toho zase nic nebude...

balki

Re:Dědičnost dnes
« Odpověď #758 kdy: 01. 02. 2017, 09:44:23 »
Protože já stále vidím, že mícháte dva problémy: jak se dají řešit programátorské problémy a jak se dají řešit lidské problémy programátorů (tedy především domluva, respektive neschopnost se domluvit).
GOF naopak velmi správně naznali, že toto klasické řešení "jsme všichni fundovaní matematici, takže se domluvíme matematickými abstrakcemi" je naprosto nefunkční v době masové produkce SW.

Jestli tohle byl zamer GoF, tak o nich mam jeste horsi mineni. Vytvorenim dalsi zbytecne terminologie se komunikacni problem nevyresi.

Protože já stále vidím, že mícháte dva problémy: jak se dají řešit programátorské problémy a jak se dají řešit lidské problémy programátorů (tedy především domluva, respektive neschopnost se domluvit).
GOF naopak velmi správně naznali, že toto klasické řešení "jsme všichni fundovaní matematici, takže se domluvíme matematickými abstrakcemi" je naprosto nefunkční v době masové produkce SW.

Jestli tohle byl zamer GoF, tak o nich mam jeste horsi mineni. Vytvorenim dalsi zbytecne terminologie se komunikacni problem nevyresi.
No, nevím, tím bych si nebyl tak jist. Je to standardní byrokratický postup. A paradoxem byrokracie je, že přes zjevnou nefunkčnost a neefektivitu je v historickém měřítku neuvěřitelně úspěšná, takže funkční.

Toto nebol zamer GoF. Navrhujem s k problematike nieco precitat. Nie clanky na zdrojaku typu Tomas Jouda - Navrhove vzory snadno a rychle. Ale pekne od zaciatku http://www.patternlanguage.com/bookstore/timeless-way-of-building.html

Skor by to bolo mozne prirovnat k ludovej  a inej starsej architekture, kedy sa nepouzivali plany. Ale pre iste stavby boli v povedomi koncepty, ako sa ma nieco robit aby to bolo dobre. Ciel vzorov je presny opak, nez ste tu naznacili, je to  odburanie byrokracie.

Netvrdim, ze vsetky GoF vzory su uplne spravne, je ich treba podrobovat kritike. Ale informovanej kritike, nie tradicnemu frflaniu od piva.

balki

Re:Dědičnost dnes
« Odpověď #759 kdy: 01. 02. 2017, 09:45:09 »
Ach, chyba mi tu moznost editacie.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #760 kdy: 01. 02. 2017, 09:54:58 »
Ach, chyba mi tu moznost editacie.

Editace tu uz je (pouze kratky cas po pridani prispevku), ale asi jen pro prihlasene.

JS

Re:Dědičnost dnes
« Odpověď #761 kdy: 01. 02. 2017, 09:55:17 »
Co si spominam v letnom tabore na pmd-85, tak vacsinou sme programovali nejake obrazky (imperativne). Co je side effect. Alebo jednoduche hry so vstupno vystupnymi operaciami. System vypocet derivacii by nas asi nenadchol :) (pozn. prehnany priklad)

Nevidim duvod, proc by deti nemohly zvladnout funkci abstrakci? Proste se jim nerekne, co to je promenna. :-) Ale i v FP muzes programovat imperativne, jde spis o to, ze:

1. Imperativita se zasadi do nejakeho formalniho ramce, nebude existovat jenom ad hoc, a to je ku prospechu veci; ten formalni ramec jsou treba monady (promin, ze to pisu strucne, mam trochu naspech).

2. Dovoluje chapat imperativni procedury jako funkce, co vraci posloupnosti akci. To ma svoje vyhody, protoze s temi posloupnostmi akci muzeme dale pracovat (treba je interpretovat ruznymi zpusoby); vice viz http://degoes.net/articles/modern-fp.

Re:Dědičnost dnes
« Odpověď #762 kdy: 01. 02. 2017, 11:00:49 »
Toto nebol zamer GoF. Navrhujem s k problematike nieco precitat. Nie clanky na zdrojaku typu Tomas Jouda - Navrhove vzory snadno a rychle. Ale pekne od zaciatku http://www.patternlanguage.com/bookstore/timeless-way-of-building.html
Hej, to je můj argument! Sorry, tady pláčeš na špatném hrobě, já naopak programově proti frflání vystupuji, protože mi celkem vadí "diskuse" kdy kritici i zastánci jsou úplně mimo.

Skor by to bolo mozne prirovnat k ludovej  a inej starsej architekture, kedy sa nepouzivali plany. Ale pre iste stavby boli v povedomi koncepty, ako sa ma nieco robit aby to bolo dobre. Ciel vzorov je presny opak, nez ste tu naznacili, je to  odburanie byrokracie.
Jenomže tady se už dostáváme na půdu hodně osobní interpretace... Já bych prostě řekl že cílem může být odbourat zbytečnou byrokracii, ale ne byrokracii úplně (tak by tomu bylo v ideálním světě, kde programátoři vytvářejí a skládají matematické abstrakce). Ale třeba jsem to opravdu pochopil špatně, to se asi jen tak nedozvím.

Možná je problém v tom, že používám pojem byrokracie, který je považován za zcela pejorativní a negativní. Přitom se jedná o základ civilizace a jedinou známou možnost jak může lidský druh (při našich počtech) fungovat.

Nejsmutnější je, že ješte pár příspěvků a lidé si mě začnou plést s Ivanem Novým... asi bych měl přidat nejakou tu poruchu osobnosti, třeba si mě spletou s blekem :-)

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Dědičnost dnes
« Odpověď #763 kdy: 01. 02. 2017, 11:18:00 »
v té době ještě vývojáři sem tam potřebovali řešit algoritmy - dnes lze strávit úspěšnou kariéru jenom kombinací knihoven.
Řešit ve smyslu navrhovat nebo jen implementovat?

JS

Re:Dědičnost dnes
« Odpověď #764 kdy: 01. 02. 2017, 11:47:50 »
Produkce SW JE dnes masová, v oboru je nalezlých mraky lidí, kteří by tam být neměli. Jo, Javaman taky rád typování.

Potiz je, ze typovani v Jave neni uplne idealni. V Haskellu typem specifikujes i vedlejsi efekty, a to je zpusob, jak skutecne realizovat znovupouzitelne dilky.

Musím přiznat, že takovéto paušální názory mě děsí a opět mi připomínají, že mnoho vývojářů, kteří nezvládli OOP, bude přecházet na další řešení, které pochopitelně opět nebude fungovat.

Proc by to nemohlo fungovat? Treba ve Facebooku to funguje. Maji tam lidi, kteri programuji imperativne v Haskellu a nemohou napachat zadnou skodu, protoze jim to nedovoli typovy system. Viz https://www.youtube.com/watch?v=mlTO510zO78.