개요
대표적인 프로그래밍 언어이다.
태생이 UNIX를 만들기 위해 생겨난 언어인 만큼, 프로그래머가 사용하기 좋게 설계되어 있다. (물론 그 당시에 상대적으로)
역사
C언어는 UNIX를 만들기 위하여 생긴 언어이다.
그런데 첫 번째 UNIX 시스템이 릴리즈 된건 1969년이고,
C언어는 그로부터 3년 후인 1972년에 발표되었다.
UNIX를 위해 만들어진 언어인데, 정작 UNIX보다 늦게 발표된 이유엔 다음과 같은 비하인드 스토리가 존재한다.
PDP-7에 들어간 첫 번째 버전의 UNIX는 어셈블리로 작성되었는데,
벨 연구소 멤버분들(전설의 그분들)은 이 UNIX를 PDP-11에 포팅할 계획을 세웠다.
그리고 소스 코드를 고급언어로 재작성 하는데, 처음엔 부트 로더나 엔트리 포인트같은 앞부분을 제외하고
BCPL을 모태로 둔 켄 톰슨님의 B언어로 작성을 하였다고 한다. 그런데 버그가 너무 많았다 카더라.
데니스 리치님이 이건 소스 작성하는데 쓴 언어가 문제다 하여,
자료형을 추가하시고 인터프리터를 사용치 않게 하시메 C언어가 되었다.
(사실 중간에 NB도 있고, 개량도 벨 연구소 UNIX 팸분들 같이 하셨다.)근데 작성자가 자세히 쓰기 귀찮아 지고 있다.
그렇게 발표된 C언어는 성공적으로 UNIX를 재작성하는데 성공했고, 이는 PDP-11에 올라갔다.
쓰고 보니 별로 비하인드 스토리 같지가 않아
특징
문법이 컴팩트하다. (는 옛날 이야기. C11 보면 그렇지만도 않음)
대규모 프로젝트 짜기 쉽지 않다.
표준
K&R C
C89
C99
C11
관계 언어
B, ALGOL 68, Fortran, PL/I, CPL, CLACL Assembly
C++, C--, C#, Perl, Objective-C, D, PHP, Java, Rust, Javascript 등등