- 데이터 스트림과 관련된 선언적 프로그래밍 패러다임이다.
- 이 패러다임을 사용하면, 정적(ex : 배열) 또는 동적(ex: 이벤트 이미터) 데이터 스트름일 쉽게 표현할 수 있으며, 관련 실행 모델 내에 추론된 dependency 가 존재함을 전달하여, 변경된 데이터 흐름의 자동 전파를 용이하게 할 수 있다고 한다.
선언적 프로그래밍이란?
선언적 프로그래밍 vs 명령형 프로그래밍
- 명령형 프로그래밍 : 어떻게 하는지(how you do) 알고리즘을 묘사합니다.
- 선언적 프로그래밍 : 무엇을(what you do) 해야 하는지 묘사합니다.
테이블 예시
- 명령형 프로그래밍
- 12번 테이블이 비어있으니 저는 저쪽에 가서 앉겠습니다. (어떻게 테이블에 가서 앉을 것인지 단계를 나열해야 함.)
- 선언적 프로그래밍
- 혼자 앉을 테이블을 주세요.(원하는 테이블 즉 혼자 앉을 테이블에 포커스.)
월마트 예시
"월마트에서 A의 집까지 어떻게 갈 수 있을까요?"
- 명령형 프로그래밍
- "주차장 북쪽 출구로 나가서 좌회전하세요. 12번가 출구가 나올 때까지 북쪽으로 가는 I-15번 도로를 타세요. 출구로 나와서 이케아로 가듯이 우회전하세요. 직진하여 첫 번째 신호등에서 우회전하세요. 다음 신호등을 통과한 후 다음 좌회전하세요. 저희 집은 298번지입니다."
- 선언적 프로그래밍
- 제 주소는 298 West Immutable Alley, Eden, Utah 84310입니다.
정리