<div>The C PROGRAMMING LANGUAGE 해설</div> <div><br /></div> <div>==프롤로그==</div> <div><br /></div> <div>제 책장에는 The C PROGRAMMING LANGUAGE Second Edition이 꽂혀 있습니다. </div> <div>구입한지 20년쯤 되었고요, 펴보지 않은지 10년 쯤 된 거 같습니다.</div> <div>대학에서 C를 배울때만 해도 이 언어는 프로그래머가 평생 갈고 닦아야 할 기본기라고 생각했습니다.</div> <div>당시엔 학원에서도 C를 가르쳤고, 대학에서도 C를 가르쳤습니다. 그야말로 프로그래밍 이코르 C 였던 시대가 있었던겁니다.</div> <div>그래서 이 책은 좁은 책상에서 한 자리를 차지하는 특별한 대접을 받아왔습니다.</div> <div><br /></div> <div>사실 제가 일하면서 C를 사용한 적이 별로 없습니다. 대신 C++를 많이 썼습니다.</div> <div>배운걸 미처 써먹기도 전에 객체지향의 광풍이 불면서 C는 어느새 구닥다리 언어가 되어 버렸습니다.</div> <div>역사는 반복된다고, WWW 광풍이 불더니 어느덧 C++도 구닥다리(?) 취급을 받고 있더군요.</div> <div>이 얘기에 동의하지 않을 분도 많을겁니다. (C나 C++는 묘한 매력이 있어서 수 많은 추종자를 거느리고 있습니다)</div> <div>하지만 C나 C++보다 다른 언어가 더 많이 쓰이는건 누구나 동의하실 겁니다.</div> <div><br /></div> <div>비록 시대에 뒤떨어진 구닥다리지만 C, C++는 여전히 많은 분야에서 사용되고 있습니다. OS, 각종 디바이스 드라이버, IIS나 아파치 같은 웹서버, 오라클이나 mysql 같은 DBMS, 게임 등은 여전이 C,C++을 주로 사용합니다.</div> <div>이런 소프트웨어들의 공통점은 무엇일까요? 뭐 많이 있겠습니다만, 딱 봐서 "어이구 만들기 어렵겠다" 싶은 것들은 C, C++로 만들었다고 볼 수 있습니다.</div> <div>C언어를 무림에 비유하자면 초식은 화려하지 않으나 내공이 중후한 그런 느낌?</div> <div><br /></div> <div>프로그래밍을 교육하기 위해 어떤 언어가 가장 적합한가라는 논쟁은 오래된 떡밥인데요,</div> <div>여전히 C언어를 가르치는 곳이 꽤 있는거 같습니다. Java가 가장 많은거 같고요.</div> <div>C언어를 지지하는 분들의 생각은 아마 이럴겁니다. </div> <div>* C언어를 통해 컴퓨터의 구조를 이해하게 되고 하드웨어를 제어할 수 있다</div> <div>* 자료구조를 직접 구현하면서 "도"를 깨우치게 되며</div> <div>* 돈 잘 벌고 갈 곳도 많으며 </div> <div>* (소수 의견이기는 한데) 배우기 어렵기 때문에 자질없는 자들을 초기에 걸러낼 수 있다. (이런 사람들은 같은 이유로 vi 편집기를 지지하기도...)</div> <div>저는 개인적으로 처음 배우는 사람에게 C언어는 너무 어렵다고 생각합니다. 쉬운 언어로 개념을 잡고 나서 C를 배우는게 낫잖아요. 안 그래요?</div> <div><br /></div> <div>C언어는 데니스 리치가 만들었습니다. 유닉스를 만든 분이기도 합니다.</div> <div>The C PROGRAMMING LANGUAGE 라는 책은 브라이언 커니핸과 데니스 리치가 함께 쓴 책입니다.</div> <div>워낙 유명한 책이라서 두 사람 이름의 첫 글자를 따서 K&R 이라고 불립니다.</div> <div><br /></div> <div>K&R은 무척 얇습니다. 전체 약 260쪽인데 그 중 170쪽이 C언어에 대한 설명이고 나머지는 라이브러리 설명과 색인 등입니다.</div> <div>오늘 책상을 정리하다 K&R을 이제 치워야겠다는 생각이 들었습니다.</div> <div>마지막으로 한 번 훑어보며 입문자가 이해하기 어려운 개념만 쉽게 해설을 해볼까 합니다.</div> <div><br /></div> <div>같은 제목으로 시간 날 때마다 써보겠습니다.</div> <div><br /></div> <div><br /></div> <div>===프롤로그의 에필로그===</div> <div>데니스 리치는 우리와 동시대를 살다 얼마 전인 2011년 10월 12일에 사망했습니다.</div> <div>데니스 리치의 생일은 9월 9일 입니다. 제 아들도 9월 9일에 태어났습니다. 제왕절개로요.</div> <div>담당의사가 제게 약 1주일의 범위에서 수술할 날자를 고르라고 하더군요. 사주가 좋은 날로 골라 오라는 뜻이었습니다.</div> <div>저는 데니스 리치가 탄생한 날로 결정했습니다.</div> <div><br /></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.