Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Mirek Prýmek

Stran: 1 ... 202 203 [204] 205 206 ... 618
3046
Vývoj / Re:Má Haskell budoucnost?
« kdy: 14. 05. 2016, 17:03:53 »
1) Tak aspoň jsou ty koleje názornější než burritos.
Burritos jsou nesmysl, tohle je názorný, korektní vysvětlení přímo k jádru pudla.

Kouknul jsi se na ten link? Kvůli maybe potřebuješ dvojnásobek funkcí, protože jak je to strikt, tak musíš řešit, že by se třeba ten druhý parametr musel vyhodnocovat dlouho. Takže oproti zcela triviální implimentaci Maybe v haskellu to je docela prohra.
Aha, ok. Na link jsem se předtím zběžně koukl, ale netušil jsem, co chceš říct, tak jsem nevěděl, co tam mám hledat :)

Máš pravdu, je to komplikace. Ale když máš default-lazy jazyk, tak je těch komplikací víc a jsou hlubší. Tohle je lahoda.

Navíc místo dvou funkcí můžeš použít (jak říká Radek) nějakou obálku typu future apod. Pořád je to řádově jednodušší než tanečky s IO monádou :)

3047
Vývoj / Re:Má Haskell budoucnost?
« kdy: 14. 05. 2016, 15:56:15 »
A zase ty monoidy :)
Jasně :) Ale odkazoval jsem to kvůli tomu obrázku s kolejema dole. Tenhle obrázek by imho měl každý zájemce o monády vidět jako první. A pak teprve vysvětlovat něco dalšího.

Monády a jak je (ne)učit se tu už řešilo, ne?
Ani ne. Minule jsme se bavili hlavně o tom, jestli je vůbec potřeba je znát k tomu, aby člověk mohl programovat IO v Haskellu.

3048
Vývoj / Re:Má Haskell budoucnost?
« kdy: 14. 05. 2016, 14:29:39 »
Mně třeba největší aha moment přinesla nějaká prezentace, kde týpek vysvětloval monády jako větvení vlakových kolejí -
Ten samý princip je použitý tady: http://www.zohaib.me/yet-another-what-is-a-monad-post/ Ale není to ten článek, co mi tenkrát přinesl ten aha moment :)

3049
Vývoj / Re:Má Haskell budoucnost?
« kdy: 14. 05. 2016, 14:17:03 »
Citace z vlákna o pythonu, ať to tam nespamujem ;)

Na cvikach se to do nas snazili nejak nalit, kdyz zjistili, ze to nikdo nechape, ale bylo malo casu a musely se resit predepsane prakticke priklady. Ty prekvapive s vyucovanou teorii nemeli nic moc spolecneho (asi jsme to v tom jen nevideli, nevim, protoze snad ta teorie nebyla nanic?). Treba ty monady a do notaci jsem pochopil az mnohem pozdeji samostudiem pri praci na projektu. Jak jsem byl nastvany na prednasejiciho, ze takovou "nepodstatnou" vec mi zamlcel.
Mě začalo docela bavit koukat se, jakým způsobem různí lidi Haskell (a speciálně monády) vysvětlují. Přijde mi to jako hrozně zajímavé téma, protože to fakt není vůbec lehký vysvětlit dobře a tímpádem se na tom výborně ukazují pedagogické schopnosti. Skoro by se to hodilo jako test na vstupní pohovor pro vyučující (kdyby se něco takového dělalo, většinou nedělá).

Přijde mi totiž, že zrovna u monád se vůbec nevyplatí se odpíchnout od vysvětlování formalismu. V tom se drtivá většina lidí zasekne a dál se nedostane, takže v nich nezůstane vůbec nic, což je ta nejhorší možná varianta. Ono tam jde totiž vlastně o to, že úplně jednoduchý princip (skládání fcí) je z nějakých důvodů potřeba řešit poměrně komplikovaně a vychází to z ještě komplikovanějšího formálního aparátu. Takže jsem po dlouhých úvahách došel k tomu, že je potřeba člověku prvně nějak neformálně ukázat, proč to je a k čemu to vlastně slouží - a teprve potom, až má nějakou mlhavou představu, o čem je vlastně řeč, ukázat prvně buď příklad, nebo velice zlehounka ten formalismus.

Mně třeba největší aha moment přinesla nějaká prezentace, kde týpek vysvětloval monády jako větvení vlakových kolejí - když nedojde k chybě, jede vlak dál touhle cestou, a když dojde, přejede přes tuhle vyhýbku... Bohužel to teď asi nedohledám, ale tohle byla fakt první věc, na které jsem vůbec chytl, o co vlastně teda jde.

...a když tohle člověk chytne, tak už potom dá ty příklady - ale imho by jako první měl vidět příklad rozepsaný pomocí lambd, BEZ do notace a těch speciálních operátorů. Pokud to totiž uvidí napsané v do notaci, získá falešný dojem, že tomu rozumí ("jasně, to je jako v imperativních jazycích") a je úplně mimo, protože nepochopil vůbec nic.

Prostě, mám pocit, že tohle téma může dobře vysvětlit jenom člověk, kterej nemá potřebu dělat chytrýho, ale naopak se rád sníží k "dětinským" příkladům, aby studenty látku efektivně naučil. A takových učitelů je bohužel na našich VŠ asi dost málo... Je to škoda. Zrovna tohle by si zasloužil znát každý mírně nadprůměrný programátor...

Jako chapu, ze ciste FP neni moc popularni. Ale vzhledem k tomu, jak se mu uspesne dari infiltrovat popularni jazyky, tak si myslim, ze minimalne jeden predmet v bakalari by si to zaslouzilo.
Určitě! Hele, upřímně, na Haskell jako takovej sere pes. Je to super obohacení, ale když ho nebudeš znát, nic moc se nestane. Co by ale každej měl znát (na škole minimálně "ochutnat"), je ten FP způsob myšlení - důraz na základní datové struktury a operace nad nimi, proudové zpracování, řetězení, atd. atd.

Ono totiž FP je úžasný způsob, jak si prakticky osahat ty datové struktury, o kterých se člověk učí v teorii...

Rozhodne nerazim nazor "Vsude ciste FP!". Treba prave ta Scala neni ani omylem cista (Haskellisti se na ni myslim celkem casto divaji shora) a FP se na nektere veci hodi mnohem vice, na jine naopak vice vynika imperativni pristup a OOP.
Myslím, že je úžasný koukat na to, jak Haskell razí principielní přístup bez výjimek a způsobuje si tím zpoustu problémů, které se nedají řešit jinak než relativně komplikovaně. A vedle něj jsou pragmatičtější jazyky, které jdou trochu "špinavější" cestou, ztrácí tím některé prima vlastnosti Haskellu, ale zase nemají ty jeho problémy a tímpádem se dají lehčeji naučit a líp se kombinují s tím, co člověk zná odjinud.

FP určitě do mainstreamu pronikat bude (už se to masově děje), ale řekl bych, že spíš v takové té pragmatičtější formě - jako volitelná součást, použitelná, pokud programátor chce, ale nesvazující ho tam, kde nechce.

3050
Vývoj / Re:Má Haskell budoucnost?
« kdy: 14. 05. 2016, 13:42:31 »
Tohle je častý názor, a vůbec ho nechápu. Stačí se podívat třeba na to, jak to má purescript, který je naopak strict: https://pursuit.purescript.org/packages/purescript-maybe/0.3.5/docs/Data.Maybe. To má být jako lepší?
Tomuhle moc nerozumím - co jsi tím chtěl říct? Jak souvisí Maybe s lazy/strict eval? A jak se liší tenhle Maybe od toho haskellovského?

3051
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 21:18:26 »
- Haskell+Prolog (vcetne teorie k obema paradigmatum)
To jste teda museli vzit poradne z rychliku. Za 6h x 100min. se nedá probrat ani jeden z těch jazyků, natož teorie k němu.

3052
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 20:03:30 »
To dává smysl. Díky za vysvětlení. Nechtěl jsem nic zpochybňovat, jen jsem si nedokázal představit jak to může fungovat v praxi.
Prekvapive dobre. A dalsi prekvapeni je, ze jsou ty signatury v Haskellu podstatne lip citelny nez treba templaty v C++, coz je principielne dost podobna vec, ale z templatu by se clovek zblil :)

3053
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 19:50:59 »
Myslel jsem to tak, že když se ze signatury matematické funkce dovím, že má argument typu číslo a vrací číslo, tak mi to většinou moc nepomůže. Chtěl bych vědět jakou operaci s těmi čísly provádí.
Já třeba v Haskellu nedělám, teď jsem akorát asi 14dní dělal intenzivně v Elmu a musím říct, že první, na co jsem se díval, byly vždycky signatury. Musíš totiž taky vzít v úvahu, že u FP jazyků se daleko víc pracuje se základními primitivními operacemi - přidat něco do listu, něco z listu vyfiltrovat, aplikovat nějakou lambdu na všechny prvky... A tam ti prostě stačí vidět map :: (a -> b) -> [a] -> [ b ] a čte se ti to líp (pohodlněji) než nějaká slovní omáčka - pokud ty základní operace znáš a poznáš je aspoň přibližně podle názvu.

3054
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 18:22:22 »
Jak jsem psal výše. Mohl bych chtít krátký popis chování funkce v docstringu a několik příkladů použití, které mohu spustit jako test. Reagoval jsem na BoneFlute, který říkal, že typová signatura může zastoupit dokumentaci. Nezpochyňuji užitečnost statického typování, ale nedovedu si představit, jak vám může zastoupit testy a dokumentaci. Možná je to jen můj omezený pohled.
Proti tomu nic nemám, ale ten tvůj argument byl chybný. Signatura a -> a není o nic horší nebo lepší než Int -> String

3055
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 16:25:03 »
Ale je to takové nehaskelloidní :)
No právě - proto jsem to říkal - že v Haskellu je prostě zvykem psát tím způsobem, který vyžaduje očima těkat. Jakoby sám o sobě ten jazyk nebyl dost komplikovanej, ještě se do toho přidá tohle :) Zlatej Elm! ;)

3056
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 16:19:08 »
Jaká historická forma? Je to živá forma a to nejen pro interprety, ale i pro mladé skladatele. https://www.megaknihy.cz/hudba/215979-preludium-a-fuga-pro-klavir.html To bys takhle mohl odsoudit kde co, treba cihly :-).
A co jako? Je to prostě barokní forma, což nevylučuje, aby někdo podle jejích pravidel skládal později. Třeba jako cvičení, z lásky k baroku nebo ze srandy. Pseudogotické stavby se taky staví dodnes a nikdo nebude argumentovat, že moderní stavby jsou špatné, protože neobsahují lomený oblouk :)

Nejde o fugu, jako takovou, ale priklad hudebni slozitosti, vedle ktere je moderni popularni hudba detsky jednoducha. A nezodpovezena otazka zni, je proto nekvalitni? Poukazuji tim na zcestnost odsuzovani neceho jen proto, ze je to jednoduche.

Jak se rika, podle sebe soudim tebe, takze mi zkus neprisuzovat sve zpusoby chovani a zkus se vyjadrit k veci.
Vyjadřuju se k věci celou dobu. Souhlasím, že složitost není měřítkem ničeho, protože v umění není nic měřítkem ničeho. Umění je čistě konsensuální koncept. Co jím prohlásíme, to jím bude. A co prohlásíme za kvalitní, to budou lidi jako kvalitní vnímat. Mj. proto, že se tím potvrzuje společenský status.

Mj. taky hudba působí na mnoha vrstvách a různými způsoby. Já třeba docela respektuju freetekno a hladám v něm úplně jiné věci než třeba v tom Smetanovi - a nikdy by mě nenapadlo je srovnávat. Při Smetanovi nezažiju to, co na freeteknu a naopak.

...z čehož plyne, že Python má budoucnost i když je úplně jiný než Haskell! ;)

3057
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 13:53:08 »
autěr chtěl říct, že haskelleři píšou return stejně jako se píše v pythonu nebo cčku
V Pythonu ani céčku by nikdo za return nenapsal tak dlouhej řádek, v tom to je - `$` prostě svádí spojovat příliš dlouhé výrazy a to tak blbě, že musím očima skočit ze začátku řádku za dolar, dočíst do konce řádku a pak znovu pokračovat od jeho začátku. Pokud je tam ještě třeba nějaká ta částečná aplikace, je to guláš, který se špatně čte. Dá se na to zvyknout, ale vrchol ergonomie to teda není, ať si kdo chce co chce říká, ať si Curry slzy utírá ;)

3058
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 13:47:29 »
Co se týče té budoucnosti Pythonu... ;)

takové "Bejby, bejby, bejby, ou bejby"(velice hluboký text, to se zase musí nechat) [...] Bedrich Smetana by se smal.
A viděls někdy Hubičku? Běž na to a ještě budeš rád za Bejby, ou bejby :)

Citace
Lukáš (překvapen, ale mírně): Má rozmilá, jak žes to myslila?
Vendulka: Že k hubičkám teď věru času není.
Lukáš: Však Vendulko, já chtěl to políbení!
Vendulka: Já nechtěla!
Lukáš: Vždyť přece smím ho chtít - Ty mi ho dáš! (Blíží se jí.)
Vendulka (couvne, vážně): Ne, pravím! Nech mě být!
To je drama! :)

Kde v dnesni moderni hudbe uslysis treba fugu?
A proč bys měl slyšet v moderní hudbě fugu? Fuga je historická hudební forma, proč by ji měl někdo dneska napodobovat?

(Že ty s těma hudebníma pojmama jenom tak šermuješ jakože "Jó, hoši, tadlencta fuga, to vám je něco!"? ;) )

3059
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 10:04:46 »
To je snad jen o tom, že v (nejen) c je středník (povinný) oddělovač příkazů; nebo ne?
Nejen. V Haskellu máš ještě curryfikaci, která to komplikuje. V jiných jazycích musíš explicitně použít lambdu, takže je jasné, že to je jeden parametr a ne dva. V Haskellu to nepoznáš, takže musíš závorkovat. A protože závorkování je opruz, zavedl se $ jako "definitivní závorka" ;)

3060
Vývoj / Re:Má Python budoucnost?
« kdy: 13. 05. 2016, 09:52:59 »
důsledek toho, že je Haskell lazy
Teda respektive ne jenom lazy, ale taky referenčně transparentní, když už jsme u toho chytání za slovíčka :)

Stran: 1 ... 202 203 [204] 205 206 ... 618