본문 바로가기

Programming/C언어

[C언어] C언어의 역사와 특징

C언어의 역사와 특징


1. C언어의 역사

  • 1970년대 초 벨 연구소의 데니스 리치(Dennis Ritchie)에 의해 개발됨
  • 당시 어셈블리어로 새로 개발된 운영체제인 유닉스(UNIX)가 인기, 어셈블리어로 작성되어 있어서 성능은 좋지만, 기계에 종속적이어서 다른 시스템으로의 이식성이 떨어졌음
  • 이식성에 대한 문제 때문에 편리한 새로운 언어가 필요 -> 기존의 B 언어를 바탕으로 발전시켜 C 언어 만듦
  • C언어는 고급 언어임에도 불구하고 어셈블리어와 같은 저급 언어처럼 빠른 속도와 높은 이식성을 제공함
  • C언어의 도움으로 유닉스는 여러 시스템에 이식될 수 있었고, 유닉스와 더불어 C언어도 높은 인기를 얻게 되었음


2. 표준 C언어

  • C언어가 널리 발전하면서 다양한 종류의 C언어 컴파일러가 등장하게 됨
  • 서로 다른 문법을 지원하면서 세계적인 표준 C언어 문법의 필요성이 느껴짐
  • 1983년에 C언어의 표준화를 위한 위원회가 조직됨
  • 1989년에 C언어의 미국 표준인 C89 발표
  • 국제 표준화 기구인 ISO에 의해 국제적인 표준인 C90이 발표됨 (*C89와 C90은 거의 같음)
  • 1995년 비영어권에서 사용하기 불편했기 때문에 C90을 보완한 C95를 발표
  • 이후 C99와 C11 발표, 현재 최신 표준은 2011년에 발표된 C11
  • C89가 제정되기 이전의 C언어를 '전통 C(traditional C)'라고 부름
  • 대부분의 컴파일러는 C90을 준수함


3. C언어의 특징

  • 이식성 문제로 개발했기 때문에 이식성이 뛰어남
  • 고급 언어이지만 기계어에 가까운 효율을 낼 수 있음
  • 포인터(pointer)를 이용하여 메모리를 직접 제어할 수 있음
  • 자주 쓰이는 기능을 모은 표준 라이브러리(standard library)를 제공함


* 출처 : C언어의 정석, 남궁 성 지음, 도우출판