[JS] 프로그래밍

한재창·2023년 5월 30일
0
post-thumbnail

프로그래밍이란?

컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 이를 위해 먼저 무엇을 실행하고 싶은지 정의할 필요가 있다. 프로그래밍에 앞서 해결해야 할 문제를 명확히 이해한 후 적절한 문제 해결 방안을 정의할 필요가 있다.

즉, 프로그래밍이란 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업이며, 그 결과물이 바로 코드다.

컴퓨팅 사고

문제 해결 방안을 고려할 때 컴퓨터의 입장에서 문제를 바라보는 것이다. 문제 해결 능력은 직감과 직관의 영역이라고 볼 수 있는데, 이는 문제를 바라보는 우리의 사고와 경험에 영향을 받는다.

사람이 "듣다"라는 행위를 당연한 기능으로 생각하지만 컴퓨터에게 이 행위를 설명하는 것은 단순하지 않다. 반대로 컴퓨터가 347x91232을 계산하는 것은 매우 쉽지만 사람에게는 쉽지 않다. 이처럼 컴퓨터와 사람은 사고, 인지의 방식이 다르다. 따라서 컴퓨터의 관점에서 문제를 사고해야 한다.

프로그래밍 언어

문제 해결 능력을 바탕으로 정의된 문제 해결 방안은 컴퓨터에게 전달되어야 한다. 이때 명령을 수행할 주체는 컴퓨터다. 따라서 사람이 이해할 수 있는 자연어가 아니라 컴퓨터가 이해할 수 있는 언어, 즉 기계어로 명령을 전달해야 한다.

기계어로 직접 명령을 전달하는 것이 어렵기 때문에 유용한 대안은 사람이 이해할 수 있는 약속된 문법으로 구성된 "프로그래밍 언어"를 사용해 프로그램을 작성한 후, 컴퓨터가 이해할 수 있는 기계어로 변환하는 일종의 번역기를 이용하는 것이다. 이 일종의 번역기를 컴파일러(Compiler) 혹은 인터프리터(Interpreter)라고 한다.

프로그래밍은 프로그래밍 언어를 사용해 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 프로그래밍 언어는 구문과 의미의 조합으로 표현된다.

정리

프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다.

profile
취준 개발자

0개의 댓글