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á.