메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

C 언어라는 바다에서 물고기 잡는 방법을 배우고자 한다면...

han***

|

2003-02-28

C언어 펀더멘탈 : 견고한 프로그램을 위한 기본 원리

많은 프로그래머들이 프로그래밍 철학과 C 언어 자체에 대한 이해가 결여된 상태에서 프로그램을 작성하면서도 "돌아가기만 하면 그만이다"라는 생각을 한다. 그러나 겉으로 멀쩡해 보이는 프로그램 안에 실제로 얼마나 많은 오류들이 숨어 있는지 생각해본 적이 있는가? 이 책에서는 4년 동안 C 표준을 꾸준히 공부해 온 저자가 국내 C 관련 서적과 커뮤니티에서 봐왔던 오해와 선입견들을 바로잡는 과정을 담고 있다.

  • 저자 : 전웅
  • 출간 : 2008-05-28
대학교에 입학해 컴퓨터와 친해지고 나서, 처음으로 배운 언어가 C 언어였고, 그로부터 얼마 동안 나름대로 C 언어를 공부했었기에 이제는 C 언어에 있어서 초급딱지는 땠다고 생각하고 있었다. 문법도 마스터했고, 어느 정도의 프로그램도 짤 수 있었기에...



하지만, 이 책을 읽으면서, 나의 그런 생각이 엄청난 착각이라는 사실을 깨달았고, C 언어의 진정한 깊이에 놀라지 않을 수 없었다. 그 동안, 내가 배운 것들은 ‘이럴 땐 이렇게, 저럴 땐 저렇게...’라는 식의 단편적인 지식들을 모아놓은 것들에 지나지 않았다. 정작, 중요한 “왜?, 어떻게?” 라는 질문을 하지 못하고서 말이다. 나에게 이 책은 그 동안 모아놓은 지식들에 진짜 힘을 불어넣어 주고, 명확하게 해주는 그런 책이었다. 왜 그렇게 써야 하는지, 어떻게 그렇게 되는지를 가르쳐주었기 때문이다. 게다가 C 언어에 대해 어느 정도 알고 있다는 나의 착각을 무색하게 만들만큼의 새로운 지식들도 많이 얻을 수 있었다.



이 책에서 가장 기억에 남는 부분은 선언(6장)과 포인터와 배열(7장)이었다. 그 동안 느낄 수 없었던 선언의 어려움을 알 수 있었고, 복잡한 선언을 해석하고 이해하는 방법을 알기 쉽게 설명하고 있다. 그리고 C 언어의 가장 큰 장애물이라고 할 수 있는 포인터를 저자의 명쾌한 철학으로 이해시켜 주고 있다. 뿐만 아니라 이 책 전반에 걸친 C 언어의 역사와 표준의 변화과정을 살펴보면서, “C 언어는 여전히 변하고 있다”는 말을 실감할 수 있었다.



C 언어에서 아래와 같은 질문에 제대로 답할 수 있는가?

- 문자열은 상수인가?

- 좌변값(lvalue)의 의미는?

-부동소수점에 대한 상등연산은 왜 바람직하지 않은가?

-함수는 data type?

-첨자지정수식([])과 함수호출은 결국 포인터에 적용되는 연산인가?, etc...

만약 위 질문에 제대로 답할 수 없다면... 아니 질문에 대한 정확한 답이 궁금하다면 이 책이 정확한 해답을 줄 수 있다.



이 책을 읽고 난 전체적인 느낌은 마치 고등학교 수학 定石과 같은 느낌이라는 것이다(C 언어의 표준을 가지고서 C 언어를 설명하고 있다는 점에서, 그리고 명쾌하고 직관적인 개념 설명에서...). 그 동안 남이 잡아놓은 물고기를 아무 생각 없이 먹기만 했었지만, 이제는 C 언어라는 바다에서 물고기 잡는 방법을 명확하게 배운 느낌이라고나 할까??? 이제부터 넓고도 깊은 C 언어의 바다를 항해하면서, 열심히 그리고 제대로 물고기 잡는 연습을 해야겠다.



마지막으로, 『돌아가기만 하면 프로그램인가?』 라는 저자의 질문에 뜨끔하다면, 그리고 C 언어의 뿌리를 확고히 다지고 싶은 의지가 있다면, 이 책을 통해 C 언어에 한 걸음 더 다가갈 수 있을 것이다.
닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?