Má Haskell budoucnost?

zboj

  • *****
  • 1 507
Re:Má Haskell budoucnost?
« Odpověď #390 kdy: 20. 05. 2016, 16:41:15 »
Citace od: Mirek Prýmek kdy 20. 05. 2016, 16:16:20
Citace od: Kit kdy 20. 05. 2016, 16:02:52
Ono toho zatím moc není. Mám ještě stále problémy se čtením symbolů, které bývají v jiných jazycích slovní, ale v Haskellu jsou tvořeny posloupností nealfanumerických znaků. Časem si na to zvyknu a teprve pak to ocením.
Tohle mě třeba taky štve. Číst kód, který je směsicí >> >>= << <=< $ <$> kde některé z nich fungují "zprava doleva" a některé naopak, je peklo. Občas mám pocit, že to snad haskellisti dělají schválně, aby okolí ukázali "já na to mám" ;)
To je jen o zvyku, ne? Je to prostě jen konvence.


Re:Má Haskell budoucnost?
« Odpověď #391 kdy: 20. 05. 2016, 16:42:40 »
Citace od: zboj kdy 20. 05. 2016, 16:41:15
To je jen o zvyku, ne? Je to prostě jen konvence.
Tak jasne, zvyknout se da i na koncentrak...

Kit

Re:Má Haskell budoucnost?
« Odpověď #392 kdy: 20. 05. 2016, 16:53:14 »
Citace od: BoneFlute kdy 20. 05. 2016, 16:36:18
Citace od: Kit kdy 20. 05. 2016, 16:23:40
... Symboly => -> :: apod. jsou pro mne stále stěží čitelné.
No, tak jsem si docela dost jistý, že třeba <- je funkce. A vůbec by měl nepřekvapilo, kdyby :: byla funkce pro definování typové anotace.

Ve škole jsme takové symboly vůbec nepoužívali, takže nemám na co navazovat. Proto jsou pro mne nové.

BoneFlute

  • *****
  • 2 155
Re:Má Haskell budoucnost?
« Odpověď #393 kdy: 20. 05. 2016, 17:01:27 »
Citace od: Kit kdy 20. 05. 2016, 16:53:14
Citace od: BoneFlute kdy 20. 05. 2016, 16:36:18
Citace od: Kit kdy 20. 05. 2016, 16:23:40
... Symboly => -> :: apod. jsou pro mne stále stěží čitelné.
No, tak jsem si docela dost jistý, že třeba <- je funkce. A vůbec by měl nepřekvapilo, kdyby :: byla funkce pro definování typové anotace.

Ve škole jsme takové symboly vůbec nepoužívali, takže nemám na co navazovat. Proto jsou pro mne nové.

No tak to je jasný.

Jsem spíše narážel na to, že z tradičnějších jazyků je člověk zvyklí na takovou tu omáčku: class, function, return, ... A v Haskellu není prostě nic. Jen výrazy. Každý kousíček kódu je nějaká funkce, která má nějakou signaturu, což znamená, že má někde vstup a vrací jeden výstup. (A ok, pár výjimek by se tam samozřejmě našlo.)

Třeba == je funkce. Nebo [] je konstruktor, taky funkce. (Teď doufám, že už se neseknu.)

A oproti Lispu má výhodu v té funkcionálnosti. Že se dá na funkce koukat jako na krabičky, které mají jasně odlišený vnitřek a venek. Což zase ohromě osvobozuje myšlení. Ale tady už skutečně odjíždím do offtopicu.

zboj

  • *****
  • 1 507
Re:Má Haskell budoucnost?
« Odpověď #394 kdy: 20. 05. 2016, 17:04:05 »
Citace od: BoneFlute kdy 20. 05. 2016, 17:01:27
Citace od: Kit kdy 20. 05. 2016, 16:53:14
Citace od: BoneFlute kdy 20. 05. 2016, 16:36:18
Citace od: Kit kdy 20. 05. 2016, 16:23:40
... Symboly => -> :: apod. jsou pro mne stále stěží čitelné.
No, tak jsem si docela dost jistý, že třeba <- je funkce. A vůbec by měl nepřekvapilo, kdyby :: byla funkce pro definování typové anotace.

Ve škole jsme takové symboly vůbec nepoužívali, takže nemám na co navazovat. Proto jsou pro mne nové.

No tak to je jasný.

Jsem spíše narážel na to, že z tradičnějších jazyků je člověk zvyklí na takovou tu omáčku: class, function, return, ... A v Haskellu není prostě nic. Jen výrazy. Každý kousíček kódu je nějaká funkce, která má nějakou signaturu, což znamená, že má někde vstup a vrací jeden výstup. (A ok, pár výjimek by se tam samozřejmě našlo.)

Třeba == je funkce. Nebo [] je konstruktor, taky funkce. (Teď doufám, že už se neseknu.)

A oproti Lispu má výhodu v té funkcionálnosti. Že se dá na funkce koukat jako na krabičky, které mají jasně odlišený vnitřek a venek. Což zase ohromě osvobozuje myšlení. Ale tady už skutečně odjíždím do offtopicu.
Absence "omáčky" je záměrná, protože to je výhoda, mozek ji nemusí kognitivně odfiltrovávat.


BoneFlute

  • *****
  • 2 155
Re:Má Haskell budoucnost?
« Odpověď #395 kdy: 20. 05. 2016, 17:05:05 »
Citace od: zboj kdy 20. 05. 2016, 17:04:05
Absence "omáčky" je záměrná, protože to je výhoda, mozek ji nemusí kognitivně odfiltrovávat.
Přesně tak.

Kit

Re:Má Haskell budoucnost?
« Odpověď #396 kdy: 20. 05. 2016, 17:51:26 »
Citace od: zboj kdy 20. 05. 2016, 17:04:05
Citace od: BoneFlute kdy 20. 05. 2016, 17:01:27
Jsem spíše narážel na to, že z tradičnějších jazyků je člověk zvyklí na takovou tu omáčku: class, function, return, ... A v Haskellu není prostě nic. Jen výrazy. Každý kousíček kódu je nějaká funkce, která má nějakou signaturu, což znamená, že má někde vstup a vrací jeden výstup. (A ok, pár výjimek by se tam samozřejmě našlo.)

Třeba == je funkce. Nebo [] je konstruktor, taky funkce. (Teď doufám, že už se neseknu.)

A oproti Lispu má výhodu v té funkcionálnosti. Že se dá na funkce koukat jako na krabičky, které mají jasně odlišený vnitřek a venek. Což zase ohromě osvobozuje myšlení. Ale tady už skutečně odjíždím do offtopicu.
Absence "omáčky" je záměrná, protože to je výhoda, mozek ji nemusí kognitivně odfiltrovávat.

To je mi také jasné. Když se podíváš třeba na Klingonštinu, tak tam také nemusíš nic odfiltrovávat. Vše je jasné na první pohled.

Jsou jazyky, kde je té omáčky hromada. Nejznámější bude asi Cobol, pak SQL, Visual Basic, ... Tam je té omáčky až příliš a zhoršuje čitelnost. Programy/skripty bývají tak rozvláčné, že se často musí zalamovat řádky i uvnitř příkazu.

Lisp šel opačnou cestou - omáčka prakticky žádná. Nadává se mu, že je "samá blbá závorka". Přitom je těch závorek mnohem méně, než ve srovnatelné aplikaci např. v Javě. Redukcí omáčky se zhoršila čitelnost.

Haskell šel cestou, kde omáčková slova nahradil symboly. Pro začátečníka ta hromada nepochopitelných značek je velkou bariérou. Pokročilý uživatel si libuje, že se mu to krásně a rychle čte. A mám takový pocit, že se začátečníkům (ne)skrytě pochechtává.

BoneFlute

  • *****
  • 2 155
Re:Má Haskell budoucnost?
« Odpověď #397 kdy: 20. 05. 2016, 17:57:27 »
Citace od: Kit kdy 20. 05. 2016, 17:51:26
Haskell šel cestou, kde omáčková slova nahradil symboly. Pro začátečníka ta hromada nepochopitelných značek je velkou bariérou.

Jen upřesním. Ono nejde tak docela o náhradu. V Haskelu se ta omáčková slova ničím nenahradila. Ony se prostě vypustily.

Jestli je to velkou bariérou... no jsem celkem průměrný vývojář, ale mě to šlo docela rychle.

Kit

Re:Má Haskell budoucnost?
« Odpověď #398 kdy: 20. 05. 2016, 18:20:38 »
Citace od: BoneFlute kdy 20. 05. 2016, 17:57:27
Citace od: Kit kdy 20. 05. 2016, 17:51:26
Haskell šel cestou, kde omáčková slova nahradil symboly. Pro začátečníka ta hromada nepochopitelných značek je velkou bariérou.

Jen upřesním. Ono nejde tak docela o náhradu. V Haskelu se ta omáčková slova ničím nenahradila. Ony se prostě vypustily.

Jestli je to velkou bariérou... no jsem celkem průměrný vývojář, ale mě to šlo docela rychle.

A co ty :: >>= <- -> apod? Tyto symboly se v jiných jazycích nepoužívají nebo např. -> v má v PHP jiný význam. Je to prostě nezvyk, proto jsem to označil za bariéru.

BoneFlute

  • *****
  • 2 155
Re:Má Haskell budoucnost?
« Odpověď #399 kdy: 20. 05. 2016, 18:29:23 »
Citace od: Kit kdy 20. 05. 2016, 18:20:38
Citace od: BoneFlute kdy 20. 05. 2016, 17:57:27
Citace od: Kit kdy 20. 05. 2016, 17:51:26
Haskell šel cestou, kde omáčková slova nahradil symboly. Pro začátečníka ta hromada nepochopitelných značek je velkou bariérou.

Jen upřesním. Ono nejde tak docela o náhradu. V Haskelu se ta omáčková slova ničím nenahradila. Ony se prostě vypustily.

Jestli je to velkou bariérou... no jsem celkem průměrný vývojář, ale mě to šlo docela rychle.

A co ty :: >>= <- -> apod? Tyto symboly se v jiných jazycích nepoužívají nebo např. -> v má v PHP jiný význam.

:: - to je trivka
-> - argumenty funkce, šipka místo čárky a poslední je return, trivka
>>=, <- - to jsou monády, jo, to je horší no

Pomohlo mi, když jsem si definici:

a b = b + 1

přeložil tak, že to rovná se znamená, že to znamená, že je to to samý.

A pak už to šlo jeden aha efekt za druhým :-)

Citace od: Kit kdy 20. 05. 2016, 18:20:38
Je to prostě nezvyk, proto jsem to označil za bariéru.
Však já ti neberu.

Citace od: Kit kdy 20. 05. 2016, 18:20:38
Tyto symboly se v jiných jazycích nepoužívají nebo např. -> v má v PHP jiný význam.
Což teprve takové C a jejich pointerová aritemetika...

Kit

Re:Má Haskell budoucnost?
« Odpověď #400 kdy: 20. 05. 2016, 18:57:39 »
Citace od: BoneFlute kdy 20. 05. 2016, 18:29:23
:: - to je trivka

Jak pro koho. Pro mne to byla novinka.
Citace od: BoneFlute kdy 20. 05. 2016, 18:29:23
-> - argumenty funkce, šipka místo čárky a poslední je return, trivka

Šipka místo čárky. Koho by to napadlo, že? Naštěstí se mi to nedávno podařilo rozkódovat.
Kromě toho se šipka používá v kontextu do pro výstup. Na to jsi jaksi zapomněl.

Citace od: BoneFlute kdy 20. 05. 2016, 18:29:23
>>=, <- - to jsou monády, jo, to je horší no

Hmm, a zase nic. Kdybych to nevěděl z předchozí diskuze, tak by to bylo pro mne +0.

Citace od: BoneFlute kdy 20. 05. 2016, 18:29:23
Pomohlo mi, když jsem si definici:

a b = b + 1

přeložil tak, že to rovná se znamená, že to znamená, že je to to samý.

Tohle byla jedna z prvních věcí, kterou jsem pochopil. Zapomněl jsi však uvést, že "a" je jméno funkce. Kromě toho se "a" používá i jako zástupný symbol typu v definici parametrů. Přesto jsi ho použil jako jméno funkce, abys mi to co nejvíc zamlžil. To je tak těžké napsat tohle?

f a = a + 1


Citace od: BoneFlute kdy 20. 05. 2016, 18:29:23
A pak už to šlo jeden aha efekt za druhým :-)

No, já nevím. FP jsme se nikdy neučili ani náznakem. OOP jen velmi okrajově - musel jsem se to naučit sám, což bylo vlastně dobře.

Když to shrnu, tak v tom svém příspěvku jsi mi nic nevysvětlil - akorát že je to trivka. Není to výtka na tebe, protože mám pocit, že to dělají všichni haskellisti. Jakmile to pochopí, ztratí schopnost to vysvětlit.

Citace od: BoneFlute kdy 20. 05. 2016, 18:29:23
Citace od: Kit kdy 20. 05. 2016, 18:20:38
Tyto symboly se v jiných jazycích nepoužívají nebo např. -> v má v PHP jiný význam.
Což teprve takové C a jejich pointerová aritemetika...

V C++ naštěstí nedělám. To je jazyk jak pro masochisty.

BoneFlute

  • *****
  • 2 155
Re:Má Haskell budoucnost?
« Odpověď #401 kdy: 20. 05. 2016, 19:03:06 »
Citace od: Kit kdy 20. 05. 2016, 18:57:39
Když to shrnu, tak v tom svém příspěvku jsi mi nic nevysvětlil - akorát že je to trivka. Není to výtka na tebe, protože mám pocit, že to dělají všichni haskellisti. Jakmile to pochopí, ztratí schopnost to vysvětlit.
Aha, jenže problém je v tom, že já jsem se nesnažil ti nic vysvětlovat. Já jsem jen reagoval na to, že je to změť znaků.

Pokud by si řekl, že chceš pomoct to naučit, tak to tě rovnou odkážu na http://naucte-se.haskell.cz. Tam jsem začínal, a je to super.

BoneFlute

  • *****
  • 2 155
Re:Má Haskell budoucnost?
« Odpověď #402 kdy: 20. 05. 2016, 19:05:57 »
Citace od: Kit kdy 20. 05. 2016, 18:57:39
Citace od: BoneFlute kdy 20. 05. 2016, 18:29:23
-> - argumenty funkce, šipka místo čárky a poslední je return, trivka

Šipka místo čárky. Koho by to napadlo, že? Naštěstí se mi to nedávno podařilo rozkódovat.
Kromě toho se šipka používá v kontextu do pro výstup. Na to jsi jaksi zapomněl.
Nezapoměl. Nepoužívá.

Kit

Re:Má Haskell budoucnost?
« Odpověď #403 kdy: 20. 05. 2016, 19:31:25 »
Citace od: BoneFlute kdy 20. 05. 2016, 19:03:06
Citace od: Kit kdy 20. 05. 2016, 18:57:39
Když to shrnu, tak v tom svém příspěvku jsi mi nic nevysvětlil - akorát že je to trivka. Není to výtka na tebe, protože mám pocit, že to dělají všichni haskellisti. Jakmile to pochopí, ztratí schopnost to vysvětlit.
Aha, jenže problém je v tom, že já jsem se nesnažil ti nic vysvětlovat. Já jsem jen reagoval na to, že je to změť znaků.

Pokud by si řekl, že chceš pomoct to naučit, tak to tě rovnou odkážu na http://naucte-se.haskell.cz. Tam jsem začínal, a je to super.

Myslel jsem si, že mi chceš vysvětlit, proč to není změť znaků. Nevysvětlil jsi nic. Pouze jsi reagoval.

Odkud myslíš, že se Haskell učím? Jedna věc je naučit se jazyk, další je pochopit, procvičit a naučit se to skutečně používat. Ty jen napíšeš, že je to trivka a že je to super. Taková rada je mi k ho...

BoneFlute

  • *****
  • 2 155
Re:Má Haskell budoucnost?
« Odpověď #404 kdy: 20. 05. 2016, 19:32:50 »
Citace od: Kit kdy 20. 05. 2016, 19:31:25
Citace od: BoneFlute kdy 20. 05. 2016, 19:03:06
Citace od: Kit kdy 20. 05. 2016, 18:57:39
Když to shrnu, tak v tom svém příspěvku jsi mi nic nevysvětlil - akorát že je to trivka. Není to výtka na tebe, protože mám pocit, že to dělají všichni haskellisti. Jakmile to pochopí, ztratí schopnost to vysvětlit.
Aha, jenže problém je v tom, že já jsem se nesnažil ti nic vysvětlovat. Já jsem jen reagoval na to, že je to změť znaků.

Pokud by si řekl, že chceš pomoct to naučit, tak to tě rovnou odkážu na http://naucte-se.haskell.cz. Tam jsem začínal, a je to super.

Myslel jsem si, že mi chceš vysvětlit, proč to není změť znaků. Nevysvětlil jsi nic. Pouze jsi reagoval.

Odkud myslíš, že se Haskell učím? Jedna věc je naučit se jazyk, další je pochopit, procvičit a naučit se to skutečně používat. Ty jen napíšeš, že je to trivka a že je to super. Taková rada je mi k ho...

OK. Tak přeji hodně štěstí.