metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2015-07-10 02:01 pm

Хаскель и среднее арифметическое

Вот я хаскель использовал только пару раз и практически его не знаю, но в чем проблема с неэнергичным foldl - помню. Про то, что нужны банг-паттерны внутри тупла - краем уха слышал, но не вникал.
Стеб же на эту тему людей, которые слышали звон, да не знают, где он, меня очень сильно огорчает.
Ладно, айсед критикует - он хотя бы писал на этом и понимает, о чем речь идет. А так - это выглядит как "разработчики на клиппере критикуют SQL за то, что теория множеств".

[identity profile] cross-join.livejournal.com 2015-07-10 11:39 am (UTC)(link)
Как я понимаю, вопрос не в противопоставлении декларативного подхода императивному (сиквел-клиппер), а в состоятельности и вменяемости конкретных реализаций декларативных языков программирования.
Edited 2015-07-10 11:40 (UTC)

[identity profile] metaclass.livejournal.com 2015-07-10 11:43 am (UTC)(link)
В таком варианте - возможно. Но проблемы хаскеля, по-моему, не в этом месте.
Просто, когда у людей эбола со всякими node.js, jvm, .net и крестами - на это закрываются глаза. Если же похожие проблемы у хаскеля или скалы - сразу начинается массовая истерика. "Как так можно, язык, оказывается, знать надо, прежде чем писать на нем".

[identity profile] cross-join.livejournal.com 2015-07-10 11:46 am (UTC)(link)
Проблемы и неинтуитивные (неарифметические) подходы при подсчете среднего - это гораздо хуже эболы, это какой-то инопланетный вирус, от которого надо срочно избавляться :)
При это SELECT AVG() как бы намекает авторам, что и в деларативном подходе можно делать по-человечески.

[identity profile] metaclass.livejournal.com 2015-07-10 11:52 am (UTC)(link)
Да хаскелю надо оптимизатор встроить, по типу SQL в СУБД.
RAM считаем внешней памятью, с дорогим и долгим доступом, кэши проца - дешевыми и на основе этого считаем :)

[identity profile] cross-join.livejournal.com 2015-07-10 11:54 am (UTC)(link)
Типа того.
Вообще, стряхнув пыль с книг по трансляторам, тут же убеждаешься, что все было придумано и даже реализовано в 1960-х годах.

[identity profile] worm-ii.livejournal.com 2015-07-11 08:43 am (UTC)(link)
Там, вроде как, объяснялось, что в этом случае нельзя даже теоретически оптимизатор присобачить, halting problem, всё такое...

[identity profile] vit-r.livejournal.com 2015-07-10 12:49 pm (UTC)(link)
Хаскель не создан для таких примитивных задач. Он - птица высокого полёта.

[identity profile] belezbar.livejournal.com 2015-07-10 07:56 pm (UTC)(link)
Вот да. Нужна оптимизация по скорости/памяти - транслируй хаскельную программу в С, а то и в ассемблер и оптимизируй критичные места до победы. На Хаскеле надо решать более глобальные, "общечеловеческие" задачи.

P.S. Jigsaw puzzle в капче - это да (: