
컴퓨터는 인간의 언어를 이해하지 못합니다.
컴퓨터가 실제로 이해할 수 있는 것은 전기 신호, 즉 0과 1로 이루어진 숫자뿐입니다.
01010101 11100010 …
컴퓨터는 이런 형태의 명령만을 직접 처리할 수 있습니다.
하지만 사람에게 이런 숫자는 읽기도 어렵고, 어떤 의미인지 파악하는 것도 거의 불가능합니다.
기계어
초기 컴퓨터 시대에는 사람이 직접 0과 1을 사용해 프로그램을 작성하기도 했습니다. 이것을 기계어라고 합니다.
하지만 프로그램의 크기가 조금만 커져도 실수가 급격히 늘어났고, 수정이나 유지보수는 사실상 불가능에 가까웠습니다. 이 문제를 해결하기 위해 사람이 이해할 수 있는 형태의 언어가 필요해졌고, 그 결과 등장한 것이 프로그래밍 언어입니다.
프로그래밍 언어
프로그래밍 언어는 사람이 읽고 쓰기 쉬운 형태로 명령을 작성할 수 있게 해주고, 그 명령을 컴퓨터가 이해할 수 있는 기계어로 변환해주는 역할을 합니다. 즉, 프로그래밍 언어는 사람과 컴퓨터 사이에서 명령을 전달해주는 중간 매개체라고 볼 수 있습니다. 이런 배경에서 어셈블리, C, C++, C#, Java 같은 다양한 언어들이 등장하게 되었습니다.
이 과정에서 사람이 작성한 프로그래밍 언어를 컴퓨터가 이해할 수 있는 기계어로 바꾸는 과정을 거치게 되는데 이것을 컴파일 이라고 합니다. 즉, 우리가 작성한 프로그램은 컴파일을 거친 후에 기계어로 변환이 됩니다. 컴파일은 직업으로 예를 들자면 번역하는 사람이라고 생각하면 이해하기 쉽습니다.
왜 이렇게 다양한가?
사람이 컴퓨터에게 일을 시키는 상황은 매우 다양합니다.
간단한 계산을 할 때도 있고, 게임을 만들 때도 있고, 자동으로 반복 작업을 처리해야 할 때도 있습니다.
그래서 사람마다, 목적마다 컴퓨터에게 명령을 내리는 방식이 달라졌고, 그 방식에 맞게 여러 프로그래밍 언어가 만들어졌습니다.
즉, 프로그래밍 언어가 여러 개인 이유는 컴퓨터가 다르게 일해서가 아니라, 사람이 컴퓨터를 사용하는 방법이 서로 다르기 때문입니다.
일상에서 같은 내용이라도 친구에게 말할 때, 사람들 앞에서 발표할 때, 가족에게 말할 때, 식당에서 주문할 때 표현 방식이 모두 다릅니다. 의미는 같지만, 상황에 따라 말하는 방식이 달라지는 것처럼 프로그래밍 언어도 목적과 상황에 따라 달라지는 것입니다.
게임 개발 언어
게임 프로그래밍을 위해서는 C++, C# 이 주로 사용됩니다. 유니티에서는 공식 언어로 C# 을 사용하, 언리얼 엔진에서는 C++ 언어를 공식 지원하기 때문에 현 시점에서 게임 개발을 위해서라면 이 두 언어 중 하나를 선택해야 합니다.
다만, 언어를 먼저 선택하는 것이 아니라, 어떤 엔진을 사용할 것인가를 먼저 결정하고 나면, 언어는 그 엔진이 사용하는 언어를 선택하게 되는 것입니다.
'C++' 카테고리의 다른 글
| 전방 선언 (0) | 2026.01.05 |
|---|---|
| TCHAR 에 대한 이해 (0) | 2026.01.04 |
| const 는 어디에 위치하느냐에 따라 의미가 달라집니다 (0) | 2026.01.02 |
| 헤더(.h)와 소스(.cpp)를 분리하는 이유 (0) | 2025.12.27 |
| C++ 소개 (0) | 2025.12.11 |