최대 1 분 소요

함수형 프로그래밍이란

함수형 프로그래밍은 프로그램의 상태 변경을 최소화하고, 예측 가능한 코드를 작성하는 것을 목표로 하는 프로그래밍 패러다임 중 하나이다.

프로그래밍 패러다임은 프로그래밍을 하는 방식이나 접근법을 의미하며, 코드 작성과 구조화의 방식을 결정한다.

함수형 프로그래밍에는 몇 가지 중요한 원칙이 존재한다:

  • 함수의 입출력은 순수해야 한다.
  • 부작용이 없어야 한다.
  • 함수와 데이터를 중심으로 사고해야 한다.

첫 번째와 두 번째 원칙은 같은 개념을 다루고 있다. 함수가 순수하다는 것은 주어진 인자에 대해 항상 동일한 결과를 반환해야 하며, 외부 상태에 의존하거나 이를 변경하지 않아야 한다는 의미이다. 즉, 순수 함수는 인자를 받아 일관된 결과를 반환하는 함수이다.

함수형 프로그래밍은 ‘어떻게’ 구현할지보다는 ‘무엇’을 수행할 것인지에 집중한다. 이는 코드의 가독성과 유지보수성을 높이며, 병렬 처리나 비동기 프로그래밍에서도 장점을 발휘한다.

순수 함수의 장점

순수 함수의 장점은 아래와 같다:

  • 함수가 독립적이며, Side-Effect가 없기에 Thread에 안전성을 보장받을 수 있다.
  • Thread에 안정성을 보장받아 병렬 처리를 동기화 없이 진행할 수 있다.

  출처: https://mangkyu.tistory.com/111 [MangKyu’s Diary:티스토리]

FxTS란

FxTS는 국내에서 만들어진 TypeScript 기반 함수형 프로그래밍 라이브러리다.

타입 추론을 쉽게 할 수 있고, 동시성 프로그래밍을 핸들링하기 좋고, 자바스크립트 표준 객체인 iterable/asynciterable을 다루기 때문에 언어의 발전과 함께 갈 수 있고, 자바스크립트 표준 에러 핸들링을 지원한다.

즉, FxTS를 사용하면 쉽고 선언적인 비동기 프로그래밍과 타입 추론, 에러 처리에 강점을 가져가 코드의 가독성과 유지 보수성을 높일 수 있다.

업데이트: