C언어 개발된 이유 (feat. B언어 문제점)
반응형

C언어 개발된 이유

C언어의 이전에 B언어가 존재합니다. C언어와 마찬가지로 B언어도 UNIX를 위한 언어였습니다. 그 당시 UNIX는 어셈블리언어로 작성되었습니다. 기계어와 근접한 언어이지요. 즉, 사람이 쉽게 읽고 쓸 수 없는 언어였습니다.

어셈블리어로 UNIX를 유지, 보수하다보니 그 어려움에 한계에 부딪히게 되고 결국 B언어가 탄생하였습니다. (B언어도 BCPL을 계승한 언어). B언어의 개발로 엄청나게 긴 어셈블리 코드를 단 몇 줄로 줄일 수 있었습니다.

하지만, 여전히 B언어로도 해결 못 하는 문제점들이 생겼고 UNIX 운영체제의 기능과 성능이 빠르게 발전하면서 B언어 또한 한계에 부딪히게 됩니다.

B언어 문제점

B언어의 가장 큰 문제점은 데이터 타입(Datatype)을 인식하지 못했습니다. 데이터 타입이 존재하였지만, 기계어를 사용하여 표현해야 했습니다. 또한, 자료구조(Data structure)를 지원하지 않았습니다.

결국 이런 문제점들을 해결하기 위해 Dennis Ritchie 그리고 동료와 함께 C언어를 개발하게 됩니다. C언어는 B언어의 모든 기능을 계승하였을 뿐만 아니라 데이터 타입 및 자료 구조를 지원합니다.

C언어는 태생적으로 UNIX 운영체제를 염두에 두고 개발되었습니다. 개발 후에 UNIX의 여러 작업 및 유지 보수하는데 사용되었습니다. C언어의 성능과 생산성으로 인해 어셈블리어로 작성된 여러 UNIX의 구성요소가 C언어로 재작성되었습니다. 1973년 C언어로 재작성된 커널 버전이 공식적으로 DEC PDP-11에 올려지게 됩니다.

<< 다음 혼자 공부하는 C언어 이전 >>
반응형