Má Haskell budoucnost?

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Má Haskell budoucnost?
« Odpověď #390 kdy: 20. 05. 2016, 16:41:15 »
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 »
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 »
... 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 095
    • Zobrazit profil
Re:Má Haskell budoucnost?
« Odpověď #393 kdy: 20. 05. 2016, 17:01:27 »
... 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
    • Zobrazit profil
    • E-mail
Re:Má Haskell budoucnost?
« Odpověď #394 kdy: 20. 05. 2016, 17:04:05 »
... 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 095
    • Zobrazit profil
Re:Má Haskell budoucnost?
« Odpověď #395 kdy: 20. 05. 2016, 17:05: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 »
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 095
    • Zobrazit profil
Re:Má Haskell budoucnost?
« Odpověď #397 kdy: 20. 05. 2016, 17:57:27 »
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 »
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 095
    • Zobrazit profil
Re:Má Haskell budoucnost?
« Odpověď #399 kdy: 20. 05. 2016, 18:29:23 »
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:
Kód: [Vybrat]
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 :-)

Je to prostě nezvyk, proto jsem to označil za bariéru.
Však já ti neberu.

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...
« Poslední změna: 20. 05. 2016, 18:31:37 od BoneFlute »

Kit

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

Jak pro koho. Pro mne to byla novinka.
-> - 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.

>>=, <- - 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.

Pomohlo mi, když jsem si definici:
Kód: [Vybrat]
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?
Kód: [Vybrat]
f a = a + 1

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.

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 095
    • Zobrazit profil
Re:Má Haskell budoucnost?
« Odpověď #401 kdy: 20. 05. 2016, 19:03:06 »
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.
« Poslední změna: 20. 05. 2016, 19:06:36 od BoneFlute »

BoneFlute

  • *****
  • 2 095
    • Zobrazit profil
Re:Má Haskell budoucnost?
« Odpověď #402 kdy: 20. 05. 2016, 19:05:57 »
-> - 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 »
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 095
    • Zobrazit profil
Re:Má Haskell budoucnost?
« Odpověď #404 kdy: 20. 05. 2016, 19:32:50 »
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í.