아랫 글은 Youtube 채널 The Cherno의 "Welcome to C++"를 번역하고, 부분부분 저의 의견을 넣었습니다.

1. C++의 특성


C++는 80년대부터 사용된 오래된 프로그래밍 언어이다. 많은 사람들이 C++가 오래된 만큼 최신 언어에 뒤쳐지고 그만큼 느릴 것이라고 생각하기도 하는데, 이는 대단히 잘못된 생각이다.

C++는 사실 빠른 연산이 필요한 게임 엔진, 그래픽스 엔진, 실시간 시스템, 서버 백엔드 등에 사용되며, 특정 분야에서는 C++ 외 다른 언어를 권장하지 않을 만큼 특성이 뚜렷한 프로그래밍 언어이다. 예를 들어, 게임 엔진의 3대장인 Unity, Unreal, Frostbite 엔진 모두 C++로 작성되어있다.

컴퓨터가 C++ 코드를 이해하기 위해서는 우선 컴파일러를 통해 machine code로 변환해야한다. 이 Machine code라는 것은 사람이 읽을 수 있는 형태의 코드가 아닌, 프로그램을 실행하려고 하는 하드웨어 플랫폼의 프로세서가 읽을 수 있는 형태의 코드이다. Machine code는 프로세서에 직접적으로 접근하여 논리연산을 실행한다.

이 때, ****C++ 코드는 사람이 생각하는 것과 비슷한 high-level 명령어부터 machine code 수준의 low-level 명령어를 모두 가지고 있기 때문에, 프로그래머의 실력에 따라 low-level 명령어들로 논리연산을 하나하나 설계함으로써 굉장히 효율적인 연산을 할 수 있다. High-level 명령어만 사용할 수 있는 언어들은 이를 수행할 수 없다. ****

C++를 잘 사용하여 CPU에게 비효율 적인 명령을 하지 않음으로써 우리는 진정으로 필요한 연산만을 할 수 있고, 이를 통해 빠른 연산을 할 수 있는 것이다.

2. C++을 어디에 사용할 수 있을까?


그러면 어떤 환경에서 C++ 프로그래밍을 할 수 있는걸까?

사실 컴파일러만 있다면 거의 모든 환경에서 C++ 프로그래밍을 할 수 있다.