목차

프로그래밍

프로그래밍 패러다음

절차 지향 프로그래밍

객체 지향 프로그래밍

캡슐화, 다양성, 

함수형 프로그래밍

수학의 원리와 비슷하며, 학습하는데 어려움이 있음
반면 사람의 사고 방식과 비슷한 절차 지향, 객체 지향 프로그래밍이 있음

프로그램 종류: Haskell, F#, OCaml Erlang 
JavaScript Kotlin Go Python Rust Java C++ Scala 함수형 프로그래밍 지원

특징
1. Pure Functions (외부 상태를 변경하지 않음)
2. Stateless, Immutability (외부에서 전달된 상태를 변경하지 않음으로써 불편성 유지, 멀티 쓰레드 환경에서 안정적임)
3. Expressions Only (if, switch 안됨)
4. First-class and higher-order functions

Monad

함수형 반응형 프로그래밍

?

TDD