본문 바로가기
게임 프로그래밍/게임 프로그래밍의 기초

게임 개발의 기초(4) - C언어

by jyppro 2023. 4. 6.

C언어

 

앞선 글에서는 게임 프로그래밍에 사용되는 게임엔진에 대해 알아보았습니다.

 

그럼 이제 엔진에서 사용되는 언어에 대해 알아봐야겠죠? 하지만 저는 다양한 언어에 대해 자세히 파고들기 전에 C언어에 대해 먼저 알고 가는것이 좋다고 생각합니다. 그렇기 때문에 이번엔 C언어의 유래부터 차근차근 알아보겠습니다.

 

C 언어의 유래

C 언어는 1960년대 후반에 벨 연구소(Bell Labs)의 데니스 리치(Dennis Ritchie)와 켄 톰슨(Ken Thompson)에 의해 시작되었습니다. 당시 벨 연구소는 유닉스(Unix) 운영체제를 개발하고 있었는데, 이를 위해 고급 언어가 필요했습니다.
그래서 데니스 리치는 이전에 개발한 BCPL 언어에서 영감을 받아 새로운 언어를 만들게 되었습니다. 이 언어는 PDP-11 컴퓨터에서 작동하는 시스템 프로그램을 작성할 수 있었으며, 이 언어를 "B"라는 이름으로 불렀습니다. 하지만 이후 유지보수와 개선을 위해 C 언어로 이름이 변경되었습니다.

 

C 언어는 초기에는 유닉스(Unix) 운영체제와 함께 개발되어 시스템 프로그래밍에서 많이 사용되었습니다. 유닉스 운영체제는 C 언어로 작성되어 있어서, C 언어는 유닉스 운영체제를 사용하는 프로그래머들에게 필수적인 언어였습니다.

 

C 언어는 간단하면서도 효율적인 코드 작성을 위한 많은 기능을 제공합니다. 또한 다양한 운영체제에서 실행할 수 있어서 이식성이 높았습니다. 이식성이 높은 언어는 하드웨어나 운영체제의 종류에 상관없이 동일한 코드를 사용할 수 있기 때문에, 다양한 플랫폼에서 프로그램을 작성할 수 있었습니다. 이러한 이유로 C 언어는 여러 운영체제, 특히 임베디드 시스템, 네트워크 시스템, 브라우저, 게임 등 다양한 분야에서 널리 사용되었습니다.

C 언어는 또한 컴파일러, 언어 해석기 등의 도구를 개발하기 위해 많이 사용되었습니다. C 언어는 저수준의 메모리 조작이 가능하기 때문에, 시스템 레벨에서 동작하는 도구들을 작성할 때 자주 사용되었습니다.

또한 C 언어는 다른 프로그래밍 언어의 기초가 되어 많은 언어들이 C 언어를 참고하여 발전되었습니다. 예를 들어, C++은 C 언어에서 파생된 객체 지향 프로그래밍 언어이며, Java는 C++에서 영감을 받아 개발된 언어입니다. 이러한 이유로 C 언어는 컴퓨터 과학 역사에서 매우 중요한 역할을 하고 있습니다.

 

C언어의 특징에 대해 간략히 요약하자면, 아래와 같습니다.

 

특징

1. 저수준 언어
2. 이식성이 높음
3. 프로시저 지향 언어
4. 높은 성능

 

이외에도 C언어의 가능성은 무궁무진 하지만 우리가 게임 프로그래밍에서 사용하게 될 언어는 C언어는 아닙니다.

하지만, C언어에서 파생된 C++, C# 등이 있기 때문에 기초부터 탄탄히 다지는 것이 좋다고 생각됩니다.

 

다음에는 유니티에서 사용되는 C#에 대해서 알아보는 시간을 가져보도록 하겠습니다. 감사합니다.