OOP의 대안, 외부 상태를 갖지 않는 순수 함수들의 연속으로 프로그래밍.
대표 언어: Scala
다른 언어도 API 사용해서 함수형 프로그래밍 가능
함수형 프로그래밍
OOP 약점
c = 1
def func(a: int, b: int) -> int: # 순수 함수 아님
return a + b + c # 외부 상태 포함
def func(a: int, b: int, c: int) -> int # 순수 함수
return a + b + c
# Pipelining
def main():
pipe_func = pipe(read_input_file, parse_input_data, save_data)
return pipe_func("input_file.txt")
# Partial Application
def power(base, exp):
return base ** exp
def main():
square = partial(power, exp=2)
cube = partial(power, exp=3)
square(2)
cube(2)