함수형 프로그래밍 개요


함수형 프로그래밍

강의 들은것 끄적

함수형 프로그래밍은 약 60년대부터 등장했다.

하지만 많은 사람들이 쓰지 않았기 때문에 인기가 없어졌다.

  1. 생산성
  2. 어렵다 - 객체지향 프로그래밍보다는 처음 허들이 쉬울수도.
  3. 성능이 느리다(최대 단점) -> 근데 최근에는 컴퓨터 성능이 좋아짐.
  4. 생태계가 좋지 않다 - 라이브러리 업데이트 늦음

최대 단점이 해결되면서 side effect를 만들지 않는 프로그래밍으로 각광받는다.

  • side effect 함수형 프로그래밍은 인풋값이 있을 때 언제나 결과값이 같아야한다. ex) move에 따라 position이 바뀔수도 있는 경우 side effect 발생
public void move(int number ){
  if(number > FORWARD_NUM)
    position++;
}
public Car move(int number){
  if(number > FORWARD_NUM0)
    return new Car(name, position++);
  return this;
}

이렇게 side effect가 없는 오브젝트를 immutable object라고 한다.

java -> 람다, 스트림 swift, scala, kotlin 등 객체지향 + 함수형 스타일로 나왔다.