[TIL] Day11 명령형 프로그래밍, 선언형 프로그래밍

Loopy·2023년 6월 15일
0
post-thumbnail

명령형 프로그래밍

  • 명령형 프로그램은 컴퓨터가 수행할 명령들을 순서대로 써 놓은 것이다.
  • “어떻게 구현하는가”를 디테일하게 기술하는 것이 중요하다.
  • 간단히 말해 명령형 프로그램은 알고리즘을 명시하고 목표는 명시하지 않는다.

선언형 프로그래밍

  • 대표적인 선언형 프로그래밍 방식 : HTML
  • 프로그램이 어떤 방법으로 해야 하는지를 나타내기보다 무엇과 같은지를 설명하는 경우에 ‘선언형’이라고한다. 예를 들어, 웹 페이지의 제목, 글꼴, 본문, 그림은 무엇이 나타나야하는지를 묘사하는 것이지 어떤 방법으로 나타내야 하는지를 묘사하는 것이 아니다.
  • 간단히 말해 선언형 프로그램은 목표를 명시하고 알고리즘을 명시하지 않는다.

명령형 vs 선언형 코드 예시

//명령형

function double(arr) {
  let results = [];
  for (let i = 0; i < arr.length; i++) { //어떻게 처리하는지에 대한 묘사
    results.push(arr[i] * 2);
  }
  return results;
}
//선언형

function double(arr) {
  //ES5 배열 다루는 함수들
  //.map() 현재 배열을 순환해서 새로운 배열을 만드는 함수
  //forEach() 배열 요소 하나하나를 순환하는 함수
  //.reduce() 배열 요소들을 쭉 돌면서 특정 값을 누적시키는 함수

  return arr.map((number) => number * 2); //무엇을 원하는지에 대한 묘사
  //map이라는 어떤 규칙을 사용해서 함축할 수 있다.
}

훨씬 함축적으로 깔끔하게 표현할 수 있기 때문에 명령형 보다는 선언형 프로그래밍 방식을 지향해야 한다. 특히 UI를 만드는데 선언형 프로그래밍 방식이 중요하다.

⭐ 외부에서 개입할 수 있는 요소를 최소화시키고 독립적으로 돌아갈 수 있으면서 어떠한 상태를 기반으로 추상화 되어있는 UI를 만드는것이 프론트엔드 개발자로서 중요하다

0개의 댓글