"자, 너도 저렇게 뛰어라."
"아! 넵!"
공부를 하면서 적는 글이기에 본 내용이 정확하지 않을 수 있습니다!
명령형 프로그래밍은 단어 그대로에 의미가 들어가 있다. 컴퓨터가 수행할 명령들을 순서대로 써놓는 것을 명령형 프로그래밍이라고 한다.
어떤 목표에 대해서 "이렇게 이렇게 하면 됩니다" 라고 설명을 해준 것과 같이 코드를 작성하게 되면 그것이 명령형 프로그래밍인 것이다.
예를 들어, 애플스토어가 어디있는지 물어보는 목표가 생겼다면 명령형 프로그래밍의 경우에는 "여기서 500M를 더 가셔서, 왼쪽으로 꺾으시고, . . .. 이렇게 가면 도착합니다!" 라는 답을 도출하게 되는 것이다.
즉, 애플스토어를 가기 위해서 "어떻게" 행하면 되는 것인지 이 흐름에 집중을 하고 있다.
그리고 이렇게 명령형 프로그램과 반대되는 개념인 '선언형 프로그래밍' 에 대해서도 알아보고, 이 둘의 차이점을 따져보자.
선언형 프로그래밍은 바로 윗 부분의 명령형 프로그래밍과 반대되는 개념으로 컴퓨터가 목표를 수행하려 하는 것이 '무엇인가'에 초점을 맞추고 있다.
이 목표의 결과만 도출을 할 뿐, 명령형 프로그래밍처럼 흐름을 정의하지 않고 있다.
예를 들어, 애플스토어가 어디있는지 물어보는 목표가 생겼다면 선언형 프로그래밍의 경우에는 "서울특별시 신사동 압구정로12길 46" 를 도출하는 방식인 것이다.
즉, 어떻게를 도출하는 명령형 프로그래밍과는 다른, 이게 '무엇'을 의미하는지에 초점을 맞추게 되어 답을 도출하는 것이다.
공부를 하던 도중, 뒤에 계속 붙는 '패러다임'에 대해 궁금하였다.
프로그래밍 패러다임은 개발자들에게 프로그래밍의 관점을 갖게 해주고, 결정하는 역할을 한다고 한다.
그 관점 안에 명령형, 선언형이 존재하는 것이고, 세부적으로 들어가면 객체지향, 절차지향, 함수형 프로그래밍이 포함되어있는 것이다.
오늘은 명령형 프로그래밍을 주제로 선언형까지 알아보는 시간이었다.
Swift를 공부하면서 "객체지향 프로그래밍 패러다임을 차용한 언어는 필수로 명령형 프로그래밍 패러다임을 사용한다." 라는 말의 의미가 뭔지 몰라서 공부해본 내용인데, 생각보다 많은 것을 얻었던 공부였다.