C (프로그래밍 언어)

내위키
Dennis (토론 | 기여)님의 2020년 7월 21일 (화) 09:00 판 (새 문서: 고급 프로그래밍 언어의 하나. 1972-73년 사이에 벨연구소에 근무하던 데니스 리치가 개발한 언어로, 원래는 유닉스에서 쓸 유틸리티를...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

고급 프로그래밍 언어의 하나. 1972-73년 사이에 벨연구소에 근무하던 데니스 리치가 개발한 언어로, 원래는 유닉스에서 쓸 유틸리티를 만들기 위해서 개발했으나 이후 아예 유닉스 커널 자체를 C로 작성했다. 이는 역사상 최초로 운영체제의 커널을 고급 언어로 작성한 것이기도 하다. 70년대에 나온 어찌 보면 구닥다리 언어라고 볼 수 있지만 지금까지 수많은 언어들이 나온 와중에도 지존의 자리를 놓치지 않고 항상 정점에 군림해 온 언어이기도 하고, 이후 나온 언어들에 지대한 영향을 미친 언어이기도 하다. C에 객체지향 개념을 집어넣은 [[[C++]], 마이크로소프트가비지 컬렉션을 비롯하여 현대 프로그래밍 언어의 개념을 다수 집어넣은 C#처럼 아예 대놓고 C의 확장형을 표방한 언어가 있는가 하면, 자바, 자바스크립트 를 비롯한 많은 인기 언어들도 C를 기반으로 한 것을 충분히 확인할 수 있다.

일반 응용프로그램을 만들 때는 별로 쓰이지 않지만 하드웨어와 많이 밀착되어 있는 운영체제 커널, 시스템 유틸리티, 닥치고 최대한의 속도를 추구하는 프로그램, 임베디드 시스템처럼 아주 작은 시스템 자원을 쥐어짜야 하는 환경에서 굴리는 소프트웨어는 여전히 C가 막강한 지위를 가지고 있다. 현대 언어들에 비하면 진입장벽이 높지만 일단 잘 배워놓으면 수요도 많고 급여 조건도 높다. 따라서 대학교의 컴퓨터 관련 학과에서는 여전히 C를 필수로 가르치고 있다.

데니스 리치는 원래 같은 벨연구소에 근무하던 켄 톰슨[1]과 함께 B 언어라는 것을 만들었는데, 이를 바탕으로 후계자 격인 C가 탄생했다. 이름 역시 B의 뒤를 잇는 언어라는 뜻으로 C가 된 것이다.

각주

  1. 구글에서 Go 언어를 만드는 데 참여했다.