Часть 1. Суть функционального программирования

Почему монады полезны в FP?

Большинство начинающих функциональных программистов знакомо с изрядной долей «учебников» по ​​монадам. Тем не менее, несмотря на огромное количество информации по этой теме, понимание относительно просто определяемой монады по-прежнему ускользает от большинства. Я убежден, что причина этого в том, что большинство «учебников» дают определение вместе с аналогиями, чтобы помочь людям понять определение, но не представляют мотивирующую проблему. Какая разница, является ли монада буррито или нет, если я не знаю, зачем мне вообще буррито?

Что такое функциональное программирование?

Функциональное программирование — это написание программ путем составления функций. Поверьте, это все. Все остальные махинации являются предпосылками, опорами или результатами композиции функций.

Объединение функций с композицией функций — это очень весело, но в конце концов функциональные программисты нашли функции, которые они хотели объединить, но которые не могли быть объединены с обычной композицией функций. Полезность монад, как и большинства продвинутых концепций FP, заключается в том, чтобы придумывать способы «составлять» новые классы функций.

Далее: Проблема мотивации в JavaScript

Ашер Кляйн — основатель и генеральный директор Descript Software. Он имеет степень в области чистой и прикладной математики Университета Конкордия.