728x90

프로그래밍을 시작하기 전에

이 글과 이어진 글 보러 가기


2017/10/05 - [Guid/Tips] - [Tips] 프로그래밍과 관련된 글들 모음


프로그램


컴퓨터에 어떤 일을 시키기 위해서는 컴퓨터에 어떤 일을 어떻게 해야 하는지 자세히 알려줘야 합니다. 여기서 '어떤 일'에 대한 설명이 바로 프로그램이고, 프로그래밍은 그런 프로그램을 작성하고 테스트하는 작업입니다.

이러한 관점에서 보면 우리는 이미 프로그래밍과 비슷한 작업을 해본 경험이 있을 것입니다. '목적지까지 가는 가장 가까운 방법'과 '요리를 하는 방법' 등 작업을 완료하는 방법을 항상 생각하며 살아가고 있습니다.


사람과 컴퓨터의 차이


그렇다면 위의 설명과 프로그램의 차이는 무엇일까요? 그것은 정확도에 있습니다. 사람에게 이야기할 때는 설명이 불충분하더라도 상식을 동원해서 불충분한 부분을 보강하지만, 컴퓨터는 그럴 수 없습니다. 예를 들면, "앞의 큰길에서 오른쪽으로 돌면 편의점이 나와" 정도의 설명이면 편의점을 찾기에 충분합니다. 하지만 이 간단한 지시문을 살펴보면 문법이 엉성하고 지시의 내용 또한 불완전합니다.

물론, 인간이라면 불충분한 내용이 있더라도 편의점을 찾을 수 있을 것입니다. 예를 들어 여러분이 병원 앞에서 이러한 질문을 했다고 한다면 횡단보도는 초록 불에 건너야 하며, 목적지까지는 걸어서 가라는 등의 말을 할 필요는 없습니다.

하지만, 컴퓨터는 생각했던 것 이상으로 멍청합니다. 컴퓨터에는 모든 사항을 자세하고 정확히 알려주어야 합니다. "앞의 큰길에서 오른쪽으로 돌면 편의점이 나와"라는 말을 다시 생각해 봅시다. 큰길은 어디에 있고, 큰길은 무엇인지, '오른쪽으로 돌아'는 무엇을 의미하는지, 또 언제 오른쪽으로 돌아야 하는지를 컴퓨터는 알지 못합니다. 따라서 컴퓨터에 무언가를 정확히 설명하기 위해서는 특정 문법을 바탕으로 우리가 원하는 작업을 정확히 나타내는 잘 정의된 용어가 필요합니다. 그러한 언어를 바로 프로그래밍 언어라고 하며, C++는 여러 프로그래밍 분야에서 활용할 수 있는 프로그래밍 언어입니다.

728x90
728x90