[ 회고 ] 프로그래밍이란 문제를 해결하는 도구

 프로그래밍이란 결국에는 뭘까? pug를 다루면서 갑자기 궁금해졌다. pug는 템플릿 엔진인데 템플릿의 컴포넌트를 모듈화해서 다시 조합할 수 있는 게 특징이다. 모듈들을 조합해서 새로운 탬플릿을 만드는 과정이 함수를 만드는 것과 비슷한 느낌이 들었다. 함수의 기능들을 정의하면 컴퓨터가 알아서 함수들을 실행하는 것처럼 템플릿 엔진도 정의한 템플릿을 렌더링하기 때문이다. 게다가 함수를 정의할 때 다른 함수들도 활용할 수 있듯이 템플릿들도 마찬가지다.

 

챗지피티한테 프로그래밍이란 함수를 만드는 것이냐고 물어봤다.

그것은 아니고 프로그래밍의 궁극적인 목적은 문제를 해결하는 도구를 만드는 것이었다. 그 과정 속에서 함수를 기본 단위 중에 하나로 사용하는 것이다. (문제 해결의 기본단위로 무엇을 쓸 건지는 프로그래밍 패러다임과 관련있다..) 함수는 문제를 해결하기 위해 구조화 된 코드와 시스템을 구축하는 데에 사용하는 도구다.

정리를 하자면 다음과 같다.

  • 프로그래밍은 문제를 해결하는 도구를 만드는 과정
  • 도구란 코드를 통해 구현 됨
  • 코드와 시스템을 구축하면 더욱 복잡한 문제를 해결할 수 있음
  • 함수는 이 도구를 만드는 데에 사용하는 기본 단위 중에 하나