함수형에 특화된 언어

Untitled

함수형 프로그래밍을 지원하는 언어

Untitled

왜 갑자기 함수형 프로그래밍?

Untitled

최근 AI, IoT, BigDATA, BitCoin 등 방대한 양의 데이터를 병렬적으로, 안정적으로 처리하는 것이 중요하게 되면서 함수형 프로그래밍의 중요성이 부각되고 있다

함수형을 적용하면 어떤 점이 좋을까?

많은 프로그래머는 유지보수중 코드 크래시 디버깅 문제를 가장 많이 격게 된다. 코드 크래시는 예상치 못한 변숫값 때문에 발생할 수 있다.

함수형 프로그래밍이 제공하는 부작용 없음(No side effect)불변성(Immutability)는 이러한 문제를 해결하는데 도움을 준다.

공유된 가변 데이터

변수가 예상하지 못하는 값을 갖는 이유는 시스템의 여러 메서드에서 공유된 가변 데이터 구조를 읽고 갱신하기 때문이다. 어떤 자료구조도 바꾸지 않는 시스템이 있다면 문제가 일어날 일이 없다(유지 보수하기 쉽다).

자신을 포함하는 클래스의 상태 그리고 다른 객체의 상태를 바꾸지 않으며 return 문을 통해서만 자신의 결과를 반환하는 메서드를 순수(pure) 메서드 또는 부작용 없는(side-effect free) 메서드라고 부른다. 이때 말하는 부작용은 아래와 같다.

Untitled