선언형 프로그래밍을 처음 들어보는 개발자들도 있을 것이다. 뭐 물론 그들이 모르는 것은 뭐 딱히 신기할 만한 일도 아니다. 하지만 SQL을 사용해본 개발자는 대부분일 것이다. 그나마 들어보았다면, 학생 때나, 정보처리 기사등 자격증을 따려고 공부 할 때 SQL의 특징 중 선언형 프로그래밍 언어이다. 라는 문장을 본 정도 일 것이다. 하지만 함수형 프로그래밍에 관심 있는 혹은 사용중이 개발자라면, 함수형 프로그래밍이 선언형 프로그래밍 방식 중의 하나라고 알고 있거나 함수형 프로그래밍이 선언형 프로그래밍이라고 알고 있는 개발자들도 있을 것이다. 우리가 알고있는 프로그래밍 방식은 크게 두 분류로 나뉜다. 명령형 프로그래밍 절차적 프로그래밍 객체지향형 프로그래밍 선언형 프로그래밍 논리형 프로그래밍 함수형 프로그래밍 논리형 프로그래밍이라고 하면, 아마 못 들어본 사람이 많을 것이다. 뭐 프로그래밍 언어론을 배웠다면 PROLOG언어의 특징을 보면서 들어보았을 법하다. 명령형 프로그래밍은 HOW에, 선언형 프로그래밍은 WHAT에 중점을 두는 지에 대한 차이라고 한다. 뭐 물론 시험을 볼 것이 아니라면 아 그렇구나 정도면 된다. 선언형 프로그래밍 대표인 SQL로 어떤 차이인지 맛만 보도록 하자. SELECT * FROM users WHERE user_id = 1; DELETE FROM users WHERE user_id = 1; 첫 문장은 user_id가 1인 유저의 데이터를 가져오는 문장이고, 두번째 문장은 user_id가 1인 유저의 데이터를 삭제하는 문장이다. 위 처럼 무엇을 할 지에 대한 구분이 전체를 보지 않아도 된다. SELECT, DELETE 여부에 따라 검색이냐 삭제이냐 결정이 된다. 자 그러면 자바스크립트 코드로 userList에서 userId가 1인 데이터를 찾고자 해보자. 명령형 프로그래밍 let res = [] for ( const u...