Ну так себе статья. Сначала предполагается "монада = контейнер". Потом это уже как-то и не предполагается, а железобетонно рассматривается. А после этого - "ой-ой-ой, можно было и не понтоваться умными словами!"
А монада - это не только контейнер, это еще много чего. Соответственно, слово "монада" помогает найти что-то общее у всего этого разного. И что самое главное, монада - это абстракция, с помощью которой можно нечистые операции ввода-вывода уложить в чистый функциональный язык.
А рассуждения о контейнерах и монадах крайне несвежи. И не очень интересны. И нисколько не помогают осознать монады (или помогают, но совершено микроскопически).
Ну и отдельно доставляют примеры на Скале - таком смешном императивно-функционально-объектном языке.
"абстракция, с помощью которой можно нечистые операции ввода-вывода уложить в чистый функциональный язык" - вот тут, наверное, главная разница в подходах. А зачем что-то куда-то укладывать? Суть - в расхождении целей, в этом главном вопросе: зачем? Чего хотим? Чего ради вообще это функциональное программирование? Варианты ответов
( ... )
А мне кажется, что автор стоит на позиции "Ассемблер и монады: на хрена козе баян?". В такой постановке вопроса действительно не за чем. Монады - инструменты, сфера разумной применимости которых вполне определена. А ведется обсуждение одного лишь из аспектов их применимости, да и то в том языке, в котором этот инструмент, в общем-то, не нужен
( ... )
Автор не осознал. Более того, он не осознал, а зачем ему это осознавать! Именно об этом и статья. Спорить с этой позицией можно - но ты почему-то этого не делаешь. Он не критикует монады, он критикует тех, кто тратит время на "осознание" этой концепции и заставляет тратить на это "осознание" время других. Ну то есть да, именно тебя. Ну так ответь ему. Объясни ему, какие плюсы ты получаешь от этого осознания, а то вот он считает, что единственный твой плюс - в осознании своей "крутизны". Объясни, как на самом деле - это и будет ответ. А пока ты только иллюстрируешь его слова собственным примером, при этом называя его подход критиканством. Не логично.
И с транспортной аналогией забавно получается. У него она тоже есть, обсуждается реакция мастеров на просьбу научить водить автомобиль. Оказывается, есть вариант в ответ услышать, что поезда ходят по рельсам :-) Я не предлагаю искать тут никакого смысла, все, конечно, получилось случайно и понимаю, что соединяю в части от разных аналогий - но по-моему забавно.
Comments 5
А монада - это не только контейнер, это еще много чего. Соответственно, слово "монада" помогает найти что-то общее у всего этого разного. И что самое главное, монада - это абстракция, с помощью которой можно нечистые операции ввода-вывода уложить в чистый функциональный язык.
А рассуждения о контейнерах и монадах крайне несвежи. И не очень интересны. И нисколько не помогают осознать монады (или помогают, но совершено микроскопически).
Ну и отдельно доставляют примеры на Скале - таком смешном императивно-функционально-объектном языке.
Reply
Reply
Reply
И с транспортной аналогией забавно получается. У него она тоже есть, обсуждается реакция мастеров на просьбу научить водить автомобиль. Оказывается, есть вариант в ответ услышать, что поезда ходят по рельсам :-) Я не предлагаю искать тут никакого смысла, все, конечно, получилось случайно и понимаю, что соединяю в части от разных аналогий - но по-моему забавно.
Reply
Leave a comment