게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
The C PROGRAMMING LANGUAGE 해설
게시물ID : programmer_2276짧은주소 복사하기
작성자 : 사원대우임원
추천 : 2
조회수 : 566회
댓글수 : 3개
등록시간 : 2014/04/01 00:30:43
The C PROGRAMMING LANGUAGE 해설

==프롤로그==

제 책장에는 The C PROGRAMMING LANGUAGE Second Edition이 꽂혀 있습니다. 
구입한지 20년쯤 되었고요, 펴보지 않은지 10년 쯤 된 거 같습니다.
대학에서 C를 배울때만 해도 이 언어는 프로그래머가 평생 갈고 닦아야 할 기본기라고 생각했습니다.
당시엔 학원에서도 C를 가르쳤고, 대학에서도 C를 가르쳤습니다. 그야말로 프로그래밍 이코르 C 였던 시대가 있었던겁니다.
그래서 이 책은 좁은 책상에서 한 자리를 차지하는 특별한 대접을 받아왔습니다.

사실 제가 일하면서 C를 사용한 적이 별로 없습니다. 대신 C++를 많이 썼습니다.
배운걸 미처 써먹기도 전에 객체지향의 광풍이 불면서 C는 어느새 구닥다리 언어가 되어 버렸습니다.
역사는 반복된다고, WWW 광풍이 불더니 어느덧 C++도 구닥다리(?) 취급을 받고 있더군요.
이 얘기에 동의하지 않을 분도 많을겁니다. (C나 C++는 묘한 매력이 있어서 수 많은 추종자를 거느리고 있습니다)
하지만 C나 C++보다 다른 언어가 더 많이 쓰이는건 누구나 동의하실 겁니다.

비록 시대에 뒤떨어진 구닥다리지만 C, C++는 여전히 많은 분야에서 사용되고 있습니다. OS, 각종 디바이스 드라이버, IIS나 아파치 같은 웹서버, 오라클이나 mysql 같은 DBMS, 게임 등은 여전이 C,C++을 주로 사용합니다.
이런 소프트웨어들의 공통점은 무엇일까요? 뭐 많이 있겠습니다만, 딱 봐서 "어이구 만들기 어렵겠다" 싶은 것들은 C, C++로 만들었다고 볼 수 있습니다.
C언어를 무림에 비유하자면 초식은 화려하지 않으나 내공이 중후한 그런 느낌?

프로그래밍을 교육하기 위해 어떤 언어가 가장 적합한가라는 논쟁은 오래된 떡밥인데요,
여전히 C언어를 가르치는 곳이 꽤 있는거 같습니다. Java가 가장 많은거 같고요.
C언어를 지지하는 분들의 생각은 아마 이럴겁니다. 
* C언어를 통해 컴퓨터의 구조를 이해하게 되고 하드웨어를 제어할 수 있다
* 자료구조를 직접 구현하면서 "도"를 깨우치게 되며
* 돈 잘 벌고 갈 곳도 많으며  
* (소수 의견이기는 한데) 배우기 어렵기 때문에 자질없는 자들을 초기에 걸러낼 수 있다. (이런 사람들은 같은 이유로 vi 편집기를 지지하기도...)
저는 개인적으로 처음 배우는 사람에게 C언어는 너무 어렵다고 생각합니다. 쉬운 언어로 개념을 잡고 나서 C를 배우는게 낫잖아요. 안 그래요?

C언어는 데니스 리치가 만들었습니다. 유닉스를 만든 분이기도 합니다.
The C PROGRAMMING LANGUAGE 라는 책은 브라이언 커니핸과 데니스 리치가 함께 쓴 책입니다.
워낙 유명한 책이라서 두 사람 이름의 첫 글자를 따서 K&R 이라고 불립니다.

K&R은 무척 얇습니다. 전체 약 260쪽인데 그 중 170쪽이 C언어에 대한 설명이고 나머지는 라이브러리 설명과 색인 등입니다.
오늘 책상을 정리하다 K&R을 이제 치워야겠다는 생각이 들었습니다.
마지막으로 한 번 훑어보며 입문자가 이해하기 어려운 개념만 쉽게 해설을 해볼까 합니다.

같은 제목으로 시간 날 때마다 써보겠습니다.


===프롤로그의 에필로그===
데니스 리치는 우리와 동시대를 살다 얼마 전인 2011년 10월 12일에 사망했습니다.
데니스 리치의 생일은 9월 9일 입니다. 제 아들도 9월 9일에 태어났습니다. 제왕절개로요.
담당의사가 제게 약 1주일의 범위에서 수술할 날자를 고르라고 하더군요. 사주가 좋은 날로 골라 오라는 뜻이었습니다.
저는 데니스 리치가 탄생한 날로 결정했습니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호