함수형 프로그래밍은 무엇인가요?

함수형 프로그래밍 functional programming

  1. 수학 함수를 사용하고 부수 효과 side effect를 피하는 것이 특징인 프로그래밍 패러다임
  2. 부수 효과 없이 순수 함수 pure function만 사용하는 프로그래밍 스타일

하지만 실용적인 관점에서 위와 같은 함수형 프로그래밍의 정의는 문제가 있다.

따라서 함수형 프로그래밍을 학술적인 접근보다는 기술과 개념으로 보는 것이 좋다.

액션 action과 계산 calculation, 데이터 data 구분하기

함수형 프로그래밍을 할 때에는 코드를 세 분류로 나누어야 한다.

  1. 액션
  2. 계산
  3. 데이터
{ 
	firstname: "Harry",
  lastname: "Potter",
}

/**/
sendEmail(to, from, subject, body)

sum(numbers)

/**/
saveUserDB(user)

string_length(str)

/**/
getCurrentTime()

[1, 15, 5, 100, 20]