wut.xkcz.cz
3Led 2014

Vysvětlení 1312 - Haskell

Opět jeden programátorský comics.

Haskell je takzvaný funkcionální programovací jazyk, tedy jazyk, postavený na konceptu matematické funkce. Vedlejší účinky volání funkce jsou změny stavu programu či jeho interakce se světem, které přesahují rámec navrácení hodnoty volané funkce. Pokud například nějaká funkce po zavolání mění nějakou globální proměnnou nebo vypíše výsledek na obrazovku předtím, než ho předá k dalšímu zpracování, pak se jedná o vedlejší účinek. V ostatních programovacích jazycích jsou vedlejší účinky poměrně běžnou věcí. Funkcionální programovací jazyky se jim naopak snaží co možná nejvíce vyhýbat a v případě, že jsou zapotřebí, k jejich implementaci používají speciální postupy.

Comics naráží na skutečnost, že pokud se nenajde nikdo, kdo by daný program používal, pak lze absenci vedlejších účinků garantovat ve zcela libovolném programovacím jazyce - protože se vedlejší účinky projevují až při běhu programu samotného.

Mouseover text je pak dvojsmyslem, narážejícím na "líné vyhodnocování", na kterém je Haskell postaven. Podstata líného vyhodnocování spočívá v tom, že hodnota prvku je spočítána až v okamžiku, kdy byla tato hodnota nějakým jiným prvkem vyžádána. V tomto případě chce tedy Randall říci, že Haskell možná má jistou hodnotu, ale nikdo si ji zatím nevyžádal, tudíž ji nelze posoudit - a současně také to, že o samotný Haskell vlastně nikdo nestál (nevyžádal si ho).

Komentáře (0) Trackbacky (0)

Omlouváme se, formulář pro komentář je momentálně uzavřen.

Trackbacky jsou zakázány