Парадигма программирования это подход к конструированию программного обеспечения, основанный на нескольких определяющих принципах. Функциональное программирование это одна из таких парадигм, которая состоит из чистых функций (Pure Function), и позволяет избежать разделяемого состояния (Shared State), изменчивых данных (Mutable Data) и побочных эффектов (Side effect). Функциональное программирование является больше декларативным, чем императивным. Cостояние приложения в функциональном программировании, в отличие от объектно-ориентированного программирования, протекает через чистые функции. Код в функциональном программировании имеет тенденцию быть более кратким, более предсказуемым и более простым для тестирования, чем императивный код, но он может быть сложным для обучения. Эта статья предоставит фундаментальное понимание функционального программирования и прояснит ряд его преимуществ. Чтобы начать понимать, что такое функциональное программирование, определим основные понятия. Чистые