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 - Idris

Stran: 1 ... 101 102 [103] 104 105 ... 153
1531
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 16:14:43 »
To není pohádka, to tak je  ;)
Jenže bez vysvětlení podstaty je to zavádějící. Student by se automaticky zeptal "Aha, takže tenhle blok překládá překladač jinak než zbytek programu?", "A proč teda není takový celý program? Bylo by to pak jak v Pascalu a tímpádem mnohem jednodušší", popřípadě ještě hůř: "aha, takže vy nám tady celou dobu vykládáte, jak jsou lazy pure funkce super a teď s nima nejde ani blbej printf?!"

Ale jo, s dávkou didaktického talentu by se to asi vysvětlit dalo - popsalo by se prostě IO + ty operace z Monad + to, že do je jenom syntaktický cukr, akorát by se zamlčelo, že ty operace tvoří tu Monad a že se dají použít i jinde.

...akorát mi to přijde takový... no typicky akademický - prvně se vymyslí skvělý ohýbák ("Pojďme učit Haskell!") a pak se musí složitě vymýšlet narovnávák, aby to vůbec v praktické výuce dávalo smysl ;)
Takové otázky jsou ale skvělé, zvídaví studenti jsou radost.
Stačí postupovat metodicky. Na astrofyzice taky na nikoho na začátku nevybalí limitní cykly v akrečních discích dvojhvězd, nejdříve musí student vstřebat nějaké ty derivace, vícerozměrné integrály, špetku teorie chaosu, relativitu atd.

Jak jsi sám psal, učit z fleku FP by byl zajímavý experiment, jen nevím, poskytuje nějaká pojišťovna produkt na odstraňování duševních poruch způsobených bifunktory?

1532
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 15:54:13 »
Nebo si budeme dokonce vymýšlet pohádky o tom, že do blok je takový "jakoby vlastně sekvenční imperatviní blok v neimperativním jazyce"? No nevím...
To není pohádka, to tak je  ;)

1533
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 13:42:42 »
Navíc mi přijde, že se nějak pomíjí, že základy programování (v Haskellu) nutně nemusí ta slova na mon- obsahovat.
Ano, to jsem přesně psal.
A pak je lepší ten Elm :)
Ty si nedáš pokoj :P Však ti ho nikdo nebere, na výuku proč ne, Pascal je taky na začátku lepší než asembler (teď už se asi moc nepoužívá, ale za mých mladých let Python nebyl). Vlastně bych docela rád viděl nějaký opravdu kvalitní úvod do programování používající Elm (na úrovni prvního ročníku VŠ).

1534
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 13:38:58 »
mně Haskell na škole nedal vůbec nic
Mně taky ne, když jsem ho měl povinně ve druháku. Ale doktorandům nebo postdokům zaplatí jeden článek třeba “dovolenou” na Havaji nebo Bali, když tam je zrovna konference. Normální dovolená je vlastně horší, páč si sám platíš let, hotel a nedostaneš diety €50/den. Možná to je pro mnoho lidí, co na to má hlavu, ta hlavní motivace.

1535
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 13:28:35 »
právě proto, že to bez nich v Haskellu nejde
Ono to bez nich jde.
Nemám s Haskellem praktickou zkušenost, takže se nebudu vyloženě hádat, ale mám za to, že bez Monoid a Monad nenapíšeš v Haskellu nic
Nenapadá mě nic, co by bez nich nešlo. Některé jiné FP jazyky je přece vůbec nemají a taky se používají.

1536
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 13:25:13 »
Navíc mi přijde, že se nějak pomíjí, že základy programování (v Haskellu) nutně nemusí ta slova na mon- obsahovat.
Ano, to jsem přesně psal.

1537
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 13:24:28 »
A také bych rozlišoval ta slova na mon-. Takový monoid jde vysvětlit i lidem bez znalostí algebry během chviličky. S monádou už by to bylo poněkud komplikovanější...
To jako tohle: https://cs.m.wikipedia.org/wiki/Monoid#Teorie_kategori%C3%AD ? To se mi nějak nezdá, že by to šlo během chviličky.

1538
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 13:21:57 »
... to se pak jen kupí M-tutoriály s debilními obrázky kolejí a krabiček, které jsou k ničemu.

Znám poměrně dost lidí, kterým ty "debilní obrázky" pomohly.
Ale k čemu?

1539
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 11:45:26 »
příliš abstraktní koncepty
To mi připomnělo někdejší diskusi o výuce fyziky na úrovni BSc, kde na sebe pokřikovali zastánci a odpůrci výuky obecné TR. Odpůrci argumentovali — na první pohled celkem logicky — tím, že studenti nebudou mít pražádné znalosti dif. geometrie. Nakonec nějakým zázrakem zvítězili zastánci a povedlo se jim sepsat velmi dobrou učebnici TR bez složitých matematických předpokladů. Stejné to je i s FP, že to někomu (kdo se to s vypětím všech sil učil přes složitou algebru) přijde obtížné neznamená, že to nejde mnohem snáz a srozumitelněji. Ovšem tutoriály může psát jen někdo, pro koho je popisované téma brnkačka, ne někdo, kdo to právě pochopil (nebo si to myslí), to se pak jen kupí M-tutoriály s debilními obrázky kolejí a krabiček, které jsou k ničemu. Ale na tom se asi shodneme.

1540
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 11:34:28 »
Elm je naprosto zbytečný a nezajímavý. Možná pro učení dětí (taková tříkolka před kolem), ale těžko pro někoho na SŠ nebo VŠ.
No dyť právě. Připomeňme si, čím celý tohle téma začalo: "Dob­rý den jsem stu­dent střed­ní prů­mys­lo­vé ško­ly" :)
SPŠ ale není školka ;)

1541
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 11:33:39 »
Tohles tady kdysi tvrdil (značně agresivně) ty, nějak moc si poslední dobou protiřečíš.
Neprotiřečím. Myslím si stejně jako ty, že ty M-words jsou na většinu lidí příliš abstraktní koncepty, ale právě proto, že to bez nich v Haskellu nejde, si myslím, že Haskell není pro většinu lidí vhodný jazyk :)
Ono to bez nich jde. Nicméně i přes špatnou premisu je tvůj závěr správný :) většina lidí by se měla Haskellu vyhnout obloukem, pokud si nechtějí zamotat hlavu a snížit sebevědomí.

1542
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 11:28:36 »
Pokud by byl problém v tom, že má Haskell moc abstrakcí, dal by se použít Elm. Ten by byl pro začátečníka nejspíš daleko stravitelnější a skoro všechny ty (domnělé) pozitivní efekty by u něj byly taky. Výhoda je, že je hodně orientovaný na web, což je imho pro nováčka velký pozitivum (něco píše a hned vidí v prohlížeči výsledek, ideálně i graficky zajímavý -> cenný quick win a wow efekt).
Elm je naprosto zbytečný a nezajímavý. Možná pro učení dětí (taková tříkolka před kolem), ale těžko pro někoho na SŠ nebo VŠ.

1543
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 11:25:54 »
Slova na mon- by měla být v textech pro normální lidi zakázána  >:(
To nejde, protože se tak jmenují ty classes. Jasně, dalo by se to učit stylem "tady to použijte takhle a nemusíte moc pátrat po tom, proč to tak je", ale pak je otázka, proč v takovém případě vůbec učit Haskell...
Tohles tady kdysi tvrdil (značně agresivně) ty, nějak moc si poslední dobou protiřečíš.

1544
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 10:22:41 »
Ad haskell: asi bych taky rád viděl kontrolovaný experiment... těžko říct.

Včera jsem dostal dotaz od začínající programátorky ohledně počítání fibonacciho posloupnosti. V Pythonu. No... a nějak jsem skončil s tím, že jsem to vysvětloval jak v Haskellu, tak v Pythonu. A ve výsledku to prostě v Haskellu pořád vypadalo jako "popis řešení problému", zatímco v pythonu to zůstávala "posloupnost instrukcí", byť značně učesanější než na začátku a zkušený Python programátor v tom ten popis řešení je asi "schopen uvidět". FP řešení v pythonu nevypadá dobře už vůbec. Ale připadá mi, že přechod od "popisu řešení" k "posloupnosti instrukcí" je výrazně jednodušší, než postup opačným směrem. Ona pak spousta lidí programuje systémem "pokus-omyl" - což v haskellu tak trochu nejde. Zase, nevím nakolik je to špatně, když je člověk začátečník, tak to možná potřebuje....

Jinak ad výhoda Haskellu: vzhledem k tomu, že vyvíjím mimo jiné jednu aplikaci pro Android a google přišel s Kotlinem, tak v tom můžu prakticky okamžitě programovat a akorát řeším, "jak se tahle věc v Haskellu syntakticky zapíše v kotlinu". A podobně to pravděpodobně bude vypadat i s Rustem. Takže pokud jde o praktické využití, tak je mnohem větší, než to na první pohled vypadá.
Jednou jsem si zkousel delat tutorial Haskellu a docela me zarazila vysoka uroven abstrakce. Nejake monoidy a monady. Prislo mi to dost slozite. Podle me to moc pro zacatecniky neni.
Existují i kvalitní tutoriály pro začátečníky. Slova na mon- by měla být v textech pro normální lidi zakázána  >:(

1545
Studium a uplatnění / Re:Základy programování
« kdy: 01. 06. 2020, 10:20:58 »
ve výsledku to prostě v Haskellu pořád vypadalo jako "popis řešení problému"
To je základní rys deklarativních jazyků. Ono vůbec to odrazování od FP je dáno nepochopením didaktiky programování, ale to by bylo na delší diskusi (na akademické půdě, ne v rootím obludáriu).

Stran: 1 ... 101 102 [103] 104 105 ... 153