C 언어란?
01 1강 시작하기에 앞서
C 언어란?

C 언어의 유래


C 언어는 도대체 어떻게 만들어졌는가? 간단한 유래에 대해서 짚고 넘어갑시다. 1971년에 벨연구소의 데니스 리치가 개발한 프로그래밍 언어입니다. 이렇게 오래된 C 언어가 왜 "스테디셀러"일까요? 최근에 나온 쉽고 편리한 프로그래밍 언어도 많고, C 언어보다 배우기에 훨씬 재미있을 수 있습니다. 그럼에도 불구하고 C 언어인 이유는 "왜 지금도 C 언어가 쓰이고 있을까"라는 질문의 답을 알면 이해할 수 있습니다. 이유를 알기 위해서는 다시 과거로 돌아가 볼까요?

C 언어는 운영체제의 어머니라고 할 수 있는 UNIX 운영 체제를 보다 쉽게 개발하기 위해 만들어졌습니다. 지금은 WINDOWS, MAC OS 등 다양한 운영체제가 존재하지만, 과거 UNIX는 "독보적"이라고 할 수 있을 정도로 편리하고 효율적인 표준 운영체제로 자리 잡았습니다. 기존의 UNIX 운영체제는 "어셈블리 언어"라는 low-level 언어¹로 작성되었습니다. 어셈블리 언어는 컴퓨터 CPU 구조에 변화가 생길 때마다 매번 같은 프로그램을 서로 다른 어셈블리어로 작성해야 하는 문제점이 있었기 때문에 프로그래밍을 하는데 있어서 어떤 개발자가 봐도 이해하고 수정할 수 있는 고급 프로그래밍 언어의 필요성이 점점 증가했습니다. 그 결과 C 언어가 탄생하게 되었고, 어셈블리 언어로 작성된 대부분의 코드는 이후 C언어로 재작성되었습니다. 

"그럼 지금은 사용하지 않나요?" 라고 묻는다면 그렇지 않습니다. 여전히 UNIX는 다양한 곳에서 사용되고 있는데요, 예를 들어 스마트폰에서 가장 기본이 되는 운영체제는 UNIX를 기반으로 만들어졌습니다. 그리고 UNIX의 기반이 되는 언어는 C언어죠.

1. low-level 언어란 사람보다 컴퓨터에 더 가까운 언어를 말합니다. 반대로 사람에 더 가까운 언어를 high-level 언어, 고급 언어라고 말합니다.


C 언어를 왜 배우나요?


C 언어는 정말 많은 장점을 가지고 있습니다. 고급 언어에 속하지만 하드웨어를 직접 제어할 수 있고, 프로그래밍할 때 받는 제한이 거의 없습니다. 이러한 장점은 때에 따라 단점이 될 수 있지만, C 언어의 목적을 생각하면 이해가 가는 특징입니다. 강력한 장점이 있다면 단점도 있겠죠? 다른 프로그래밍 언어와 마찬가지로 C 언어 또한 프로그래머를 위한 언어지만, C 언어는 이제 막 프로그래밍을 배우기 시작한 초보가 아닌, 이미 프로그래밍에 익숙한 전문 프로그래머에게 좀 더 편리한 언어입니다. C 언어를 본격적으로 활용하여 프로그램을 개발하려면 컴퓨터에 대한 풍부한 이해와 숙련도가 있어야 하기 때문입니다. 그런 의미에서 처음 프로그래밍을 시작하는 사람들에게 C 언어는 어렵고 재미없기 때문에 그다지 좋은 언어가 아닐 수도 있습니다. 앞서 말했듯 지금은 다양한 프로그래밍 언어가 있고, C 언어보다 재미있는 언어도 많으니까요.

그럼에도 불구하고 많은 사람들이 C 언어를 첫 프로그래밍 언어로 선택하는 이유는 C 언어가 오래되었기 때문입니다. Java, C#, Objective-C 등 C 언어를 기반으로 만들어진 언어가 정말 많습니다. 이런 언어들을 C-like Language라고 하며, 이 언어들은 C 언어를 익히고 나면 매우 쉽게 익힐 수 있습니다. 또한 C 언어는 일반적으로 컴퓨터 혹은 시스템 자체를 개발하는데 주로 사용하기에, 프로그래밍에 대해서 이해하고 동작 구조를 알기에 매우 적합한 언어라 말할 수 있습니다.

이번 기회에 C 언어로 프로그래밍에 익숙해지신 뒤, 목적에 맞는 C-like Language를 찾는 것을 추천드립니다.

질문하기
추가 자료
no files uploaded

추가 자료가 없습니다

여기서 새로운 학습 자료를 확인하세요!
선생님이 추가한 자료들을 바로 확인할 수 있어요.