함수 중심 프로그래밍 패러다임
패러다임
시대별 사람들의 인식체계입니다,
시대별로 고민하는 문제에 따라서 패러다임은 변해갑니다.
OOP
1990 년대 프로그래밍을 하는데에 있어서 많은 개발자들이 고민을 했던 것은 , 데이터를 어떻게 재사용을 할 수있을까 ? 어떻게 변화에 대응할 수 있을까 ?
데이터를 추상화하여 변화에 대응을 하고 , 그 과정에서 OOP 라는 객체 중심의 프로그래밍 패러다임이 발생하게 됩니다.
FP
현대 사회에 와서 더 발전된 하드웨어를 가진 컴퓨터들이 나타나게 됩니다.
하나의 프로세스의 작업을 여러 코어로 나눠서 병렬 처리를 하고 ,
또 , 여러 프로세스는 동시 처리 되어야 하고 , 개별적으로 수행된 결과를 모아서 다음 작업을 수행하기를 요구하게 됩니다.
그 과정에서 데이터에 동시접근은 가변적인 데이터로 인해 , 결과를 보장받을 수 없게 됩니다.
OOP 에서도 그런 부작용(side - effect ) 를 막기 위해서 , 세마포 라는 동시 접근을 제한하는 방식 을 취하게 됩니다.
하지만 동시접근을 막거나 또는 공용데이터를 조작하지말자 라는 약속으로 해결 할 수 있습니다.
하지만 더 효율적인 방법으로 다시 주목 받는 것은 입력에 따른 출력만이 존재하고 , 다른 부수효과를 일으키지않는 함수형 패러다임이 대두 받게 됩니다.