Функциональное программирование‚ как и объектно–ориентированное программирование‚ является парадигмой программирования․ Не существует формального согласованного определения того‚ что влечет за собой ФП‚ но есть два основных понятия‚ с которыми согласится большинство людей։ Неизменность В функциональном программировании мы стремимся избежать изменения состояния․ Фактически‚ во многих функциональных языках изменение переменной просто невозможно․ У нас также есть понятие чистых функций‚ то есть функций‚ которые не могут иметь никаких побочных эффектов‚ кроме возврата значения․ Теперь‚ если вы новичок в ФП‚ это может звучать очень странно‚ но на самом деле очень приятно‚ когда вы к этому привыкнете․ Потому что взамен отказа от возможности изменять состояние в наших программах мы получаем действительно хорошие преимущества․ Одним из главных преимуществ‚ является то‚ что код‚ написанный в функциональном стиле‚ гораздо легче понять․ Если я хочу знать‚ что делает данный фрагмент кода‚ я знаю‚