이것이 C언어다

유석현(SeokHyun Yu)·2022년 7월 7일

C

목록 보기
1/26
post-thumbnail

1. C언어는 프로그래밍 언어이다.

사람은 각자 한 개씩의 언어를 할 수 있다. 그리고 다른 나라의 사람과 소통을 하기 위해서는 다른 나라의 언어를 배워야 한다.

하지만 통역사가 있다면, 굳이 다른 나라의 언어를 배우지 않아도 통역사를 통해 내가 원하는 의미를 전달할 수 있다.

예를 들어, '나'는 한국어를 할 수 있고 미국에 사는 James와 얘기를 하고 싶지만, 영어를 잘 하지 못해 내가 원하는 말을 전달하지 못하는 상황에서, 한국어와 영어를 둘 다 할 수 있는 통역사를 통해 내 말을 전달할 수 있다.

이처럼 '나'는 C언어를 배워서 C언어와 기계어를 둘 다 할 줄 아는 컴파일러에게 보내 컴파일러는 내가 C언어로 작성한 말을 기계어로 번역(컴파일)해서 컴퓨터에게 뜻을 전달한다.


2. C언어의 역사와 특징

1971년경에 UNIX라는 운영체제의 개발을 위해 Dennis Ritchie와 Ken Thompson이 함께 설계한 범용적인 '고급(high-level) 언어'이다. ALGOL 60, CPL, BCPL, B언어 다음에 등장하여 'C'언어라고 불린다. 기존에 UNIX 운영체제는 어셈블리 언어라는 '저급(low-level) 언어'로 만들어졌기 때문에 하드웨어의 의존도가 높았다. 쉽게 말해서, CPU의 종류가 바뀌면 프로그램을 다시 작성해야 했다.

예를 들어 인텔 CPU를 기반으로 구현된 프로그램은 AMD CPU 기반의 시스템에서 동작하지 않았다. 때문에 똑같은 기능의 프로그램이라도 CPU의 종류에 따라서 별도로 구현해야만 했다.

이러한 단점의 해결을 위해서, 더불어 활용에 제약이 많이 따르는 어셈블리 언어의 대체를 위해서, 어셈블리 언어의 저급 언어적 특징을 지니면서도 이식성도 좋고, 더불어 익히기도 쉬운 언어가 필요했는데, C언어는 이러한 요구조건을 모두 만족하였다.

결과적으로, C언어의 개발로 인해서 UNIX라는 운영체제의 90% 이상이 C언어로 대체되었고 이를 시작으로 C언어의 인기는 높아져갔다.

참고로 여기서 언급한 '저급언어'와 '고급언어'의 구분기준은 컴퓨터가 이해하기 쉬운 언어냐, 아니면 사람이 이해하기 쉬운 언어냐에 달려있다.

즉, 고급언어에 가까울수록 사람이 이해하기 쉬운 언어가 되고, 저급언어에 가까울수롭 사람보다는 컴퓨터가 이해하기 쉬운 언어가 된다.


3. C언어의 장점

- `절차지향적` 특성을 지닌다.

- `이식성`이 좋다.

- `좋은 성능`을 보인다.
profile
Backend Engineer

0개의 댓글