Эта книга представляет собой сбалансированный и прагматичный взгляд на Функциональное Программирование на языке JavaScript. Здесь вы можете прочесть первое издание, либо купить книгу онлайн:
"Функционально-Лёгкий JavaScript" раскрывает основные принципы функционального программирования (ФП) в контексте их применения на языке JavaScript. Однако, данную книгу от большинства изданий отличает то, что в ней описывается исключительно практический подход к данным принципам, без погружения в узкоспециализированную терминологию. В процессе повествования мы постараемся раскрыть подмножество фундамемнтальных ФП концепций, которые я называл "Функционально-Легким Программированием" (ФЛП) и реализуем их на JavaScript.
Примечание: Не смотря на слово "Легкий" в названии, эта книга не подходит для новичков и не рекомендуется в качестве первого шага в изучении JavaScript. От читателя ожидается уверенное знание JS, так как книга содержит множество специфических нюансов, которые могут ускользнуть от понимания человека, не достаточно глубоко знакомого с языком. "Легкий" - означает прежде всего ограниченный по объему; Вместо широкого и поверхностного описания, которое встречается в большинстве книг по ФП на JavaScript, мы более глубоко погрузимся в каждую из тематик, касающихся функционального программирования на JavaScript.
Необходимо признать: если вы, как и я, не являетесь членом закрытого клуба экспертов в ФП, утверждения вида: "Монада это просто моноид в категории эндофункторов", не несут для вас ровно никакого смысла.
Однако, я не хочу сказать что ФП терминология лишена смысла полностью, или что её использование является "дурным тоном". Я надеюсь, что ознакомившись с "Функционально-Легким" подходом, вы, возможно, заинтересуетесь более формальным изучением Функционально Программирования и получите достаточное количество информации о том где и как следует применять соответствующую терминологию.
Я хочу чтобы вы были способны применять некоторые из фундаментальных принципов ФП уже сейчас, ибо верю, что это пожет вам писать более качественный, осымсленный и поддерживаемый код.
Более подробно с мотивацией, подтолкнувшей меня к написанию данного материала, вы можете ознакомиться в Предисловии.
- Введение (Brian Lonsdorf, aka "Prof Frisby")
- Предисловие
- Глава 1: Почему Функциональное Программирование?
- Глава 2: Природа функций
- Глава 3: Работа с аргументами
- Глава 4: Композиция
- Глава 5: Уменьшение побочных эффектов
- Глава 6: Ценность иммутабелности
- Глава 7: Замыкание против Объекта
- Глава 8: Рекурсия
- Глава 9: Работа с массивами
- Глава 10: Асинхронность в ФП
- Глава 11: Собираем все вместе
- Приложение A: Преобразования (Transducing)
- Приложение B: О Скромной Монаде
- Приложение C: ФП Библиотеки
Данная книга в оригинале была опубликована и доступна к покупке на Leanpub. Я также работаю над доступностью бумажной версии, но на текущий момент её судьба пока не известна.
Если вы хотите поддержать материально мои усилия, помимо покупки книги, это можно сделать на patreon.
Информация в этой книге основывается на материалах проводимого мной одноименного тренинга.
Если вам понравился материал этой книги, вы можете связаться со мной по поводу проведения тренинга по этой или любой другой тематике, связанной с JS/HTML5/Node.js по email: getify @ gmail
У меня также есть несколько JS тренингов, доступных онлайн. Я веду курсы на платформе Frontend Masters, где вы можете найти мой воркшоп Functional-Light JavaScript v2. Некоторые из моих курсов также доступны на PluralSight.
Права на все материалы принадлежат Kyle Simpson. (c) 2016-2018
Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License.