
Почему функциональное программирование?
Функциональное программирование существует уже некоторое время. Он имеет преимущества перед традиционным программированием, предоставляя программистам простой способ кодирования и отладки своих программ. Функциональные языки программирования считаются более элегантными, простыми для понимания и более предсказуемыми, чем императивные языки. Кроме того, функциональный код часто легче распараллелить для крупномасштабных вычислительных задач, поскольку он не зависит от какого-либо общего состояния и не имеет побочных эффектов. Разделение сложных задач на более мелкие части позволяет решать каждую проблему по отдельности и упрощает совместную работу, поскольку разные разработчики могут работать над разными задачами. Например в oop есть пакеты классы и интерфейсы. В объектно-ориентированном программировании соединительные блоки вызывают тесную связь, и это самое большое препятствие при тестировании и разработке. Также он не допускает повторного использования.
В объектно-ориентированном программировании методы разделения и шаблоны проектирования реализованы для создания слабосвязанной структуры, которую можно тестировать по отдельности, и разные разработчики могут работать над разными частями.
Чистые функции не работают с данными вне себя. А чистые функции — это важнейшая часть функционального программирования и поэтому у них нет никаких побочных эффектов. Чистые функции легко тестировать, они всегда будут давать одинаковые результаты.
При тестировании функций чистые функции могут тестироваться на разных угрозах или ядрах при работе на многопоточности.