Зачем изучать функциональное программирование? Разве это не какая-то сложная, заумная техника, используемая только в малоизвестных языках, таких как Haskell?
На самом деле, функциональное программирование очень простое. Оно также очень мощное, как демонстрирует Haskell, отказавшись от всех традиционных инструментов программирования и используя только возможности функционального программирования. Но это не обязательно делать именно так.
Функциональное программирование — это мощный инструмент, который можно использовать в дополнение ко всем обычным инструментам, в той мере, в какой его поддерживает ваш текущий основной язык программирования. Большинство языков имеют как минимум базовую поддержку.
В этой книге мы используем Python и Java, а в качестве бонуса — Scala. Если вы предпочитаете другой язык, будут незначительные различия в синтаксисе, но основные концепции останутся теми же.