※이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.
http://book.naver.com/bookdb/book_detail.nhn?bid=6984786
1.3 C언어의 소개
● C언어의 역사
- C언어는 1969년과 1973년에 걸쳐서 AT&T의 벨연구소에서 Dennis Ritchie에 의하여 탄생하였다.
- 'C'라고 하는 이름이 만들어진 이유는 직전에 만들어진 언어의 이름이 'B'였기 때문이다.
- C언어는 UNIX 운영체제를 개발하기 위하여 만들어졌다. 'Space Travel' 이라고 하는 게임을 하기 위해서 사무실에 있었던 미니컴퓨터(PDP-11)에 이식하려고 했지만 운영체제가 없을 뿐 더러 어셈블리어로 작성하기엔 너무 어렵고 지루했기에 개발했다고 알려져있다.
● C언어의 특징
- C언어는 간결한 언어이다. 꼭 필요한 기능만이 들어 있고 모든 표기법이 아주 간결하게 되어있다.
- C언어는 효율적인 언어이다. C로 작성된 프로그램이 크기가 작으며 실행 속도가 빠르고 메모리를 쵸과적으로 사용한다는 것을 의미한다. C언어는 거의 어셈블리어 수준의 효율성을 자랑한다.
- C언어는 저수준의 프로그래밍이 가능하다. 어셈블리 언어 만큼의 구체적인 하드웨어 제어가 가능하다. 어셈블리어는 사용하는 CPU에 따라서 프로그램을 변경시켜야 되는 치명적인 약점이 있지만 C언어로 임베디드 프로그램을 작성하게 되면 유지 관리가 쉬워진다. 포인터, 비트 단위의 조작으로 여러 하드웨어 장비를 섬세하게 제어할 수 있다.
- C언어는 고수준의 프로그래밍도 가능하다. 모듈 단위의 프로그램 작성을 지원하고 분할 컴파일도 가능하기 때문에 고수준에서의 프로그램 작성도 가능하다. 하양식(top-down) 설계, 구조화 프로그래밍, 모듈화 설계 등의 소프트웨어 공학의 다양한 기법들을 적용할 수 있다.
- C언어는 이식성이 뛰어나다. 한번 작성된 프로그램을 다른 CPU를 가지는 하드웨어로 쉽게 이식할 수 있다는 뜻이다. PC에서 개발된 프로그램도 컴파일만 다시 하면 슈퍼컴퓨터에서도 수행할 수 있다.
- C언어의 단점. 초보자가 배우기가 어렵다는 것이다. 그만큼 산업 현장에서도 사용하는 언어이다.