Today I Learned/CS공부
프로그래밍 - 선언형 프로그래밍, 함수형 프로그래밍
sangwoo_rhie
2023. 12. 30. 19:45
1. 선언형 프로그래밍(Declarative Programming)
선언형 프로그래밍은 코드가 어떻게 실행되는지에 대한 명확한 지시를 제공하는 대신에, 원하는 결과를 묘사하는 스타일의 프로그래밍입니다. 즉, 코드가 무엇을 하는지에 집중합니다. 예를 들어 SQL은 선언형 프로그래밍의 한 예로, 데이터베이스에서 원하는 데이터를 가져오는 방법을 명시하지만, 실제로 데이터가 어떻게 가져와지는지에 대한 구체적인 절차는 명시하지 않습니다.
2. 함수형 프로그래밍(Functional Programming)
함수형 프로그래밍은 함수의 사용을 중심으로 하는 프로그래밍 패러다임입니다. 함수형 프로그래밍은 부작용을 최소화하고, 불변성을 유지하며, 함수를 일급 객체로 취급하여 데이터를 처리하는 방식을 강조합니다. 함수형 프로그래밍은 상태 변경과 가변 데이터보다는 순수 함수(pure function)를 사용하여 데이터를 처리하고, 이러한 함수들을 조합하여 원하는 동작을 수행합니다.
간단하게 말하자면, 선언형 프로그래밍은 "무엇을" 하는지에 초점을 맞추고, 함수형 프로그래밍은 함수를 중심으로 하여 "어떻게" 하는지보다 "무엇"을 하는지에 집중합니다. 함께 사용될 수 있으며, 함수형 프로그래밍은 종종 선언형 프로그래밍 스타일을 채택합니다.