함수형 프로그래밍 개요
함수형 프로그래밍
강의 들은것 끄적
함수형 프로그래밍은 약 60년대부터 등장했다.
하지만 많은 사람들이 쓰지 않았기 때문에 인기가 없어졌다.
- 생산성
- 어렵다 - 객체지향 프로그래밍보다는 처음 허들이 쉬울수도.
- 성능이 느리다(최대 단점) -> 근데 최근에는 컴퓨터 성능이 좋아짐.
- 생태계가 좋지 않다 - 라이브러리 업데이트 늦음
최대 단점이 해결되면서 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 등 객체지향 + 함수형 스타일로 나왔다.