badstud***
2019-06-27

이 책은 독학으로 C 언어를 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지조차 모르는 입문자의 막연한 마음을 살펴, 과외 선생님이 알려주듯 친절하게, 그러나 핵심적인 내용만 콕콕 집어준다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 C 언어를 배울 수 있다는 자신감과 확신이 계속될 것이다!
많은 분들이 실제로 C언어를 공부하다가 도중에 포기하는 가장 큰 이유는아마도 ‘포인터’ 때문일 것입니다.
물론 포인터가 있기에 메모리 번지에 직접적인 접근을 할 수 있고, 임베디드프로그래밍을 가능케 하므로 ‘포인터’ 자체로는 C의 가장 큰 장점입니다만, 컴퓨터 시스템을 접하지 못해본 초보 입장에서는극복해야 할 ‘커다란 장벽’으로만 느껴질 뿐입니다.
필자또한 시스템 친화적인 C언어를 다른 책으로 독학할 당시, ‘포인터’를 공부할 때 메모리가 무엇인지도 모르는 상태에서 ‘포인터’를접하게 되어 머릿속에 구조가 전혀 그려지지 않는 상태에서 공부를 해야 했었고, 혼자 그렇게 힘겹게 공부를 하다가갑작스레 튀어나온 이중 포인터, 동적 할당 등에 턱 막혀 C언어를 그만두었던 아픈 기억이 있습니다.
그러다가 우연히 얻게 된 기회를 통해 이 '혼자 공부하는 C언어'를 읽어볼 수 있게 되었고 개인적으로 모르는 부분부터 차근차근 읽어보았습니다. 전체적으로 읽는 초보자들이 어려워 할만한 부분을 저자분이 딱 아시는지, 중간중간 이해를 돕기 위해 여러가지 방법을 도입한 것을 볼 수 있었습니다. 마음에 드는 부분을 정리해보자면,
1. c언어 책이지만, 비트, 바이트와 비트 연산 등 컴퓨터 공부에서 가장 기초적인 부분에 대해 중간중간 짚고 넘어가는 부분이 좋았습니다. 생각하고보면 초보자 입장에서는 이러한 부분을 알지 못한 채 C라는 컴퓨터 언어를 접해 나중에 어려운 부분으로 넘어갔을 때 애를 먹게 되는 경향이 있는데, 이렇게 어려워하는 초보자들을 위해 컴퓨터에서 쓰이는 비트 연산부터 차근차근 알려주는 부분이 마음에 들었습니다. 그 외의 내용들도 다 좋았고..
(실제로 공부한 페이지의 일부입니다.^^)
2. 이 책의 가장 강점은 위와 같이 최대한 이해하기 쉽게 하나씩 풀어서 설명하는 저자의 세심한 배려가 어느 책들보다도 돋보였다는 점입니다.
-> 시작하기 전에 : 앞에서 배운 내용을 살짝 복습하거나, 왜 우리가 이 단원에서 공부할 것을 배우는지에 대한 설명이 나와있어 '아, 이 단원에서는 무엇을 공부할 것이구나'라는 것에 대한 감을 잡을 수 있었습니다.
-> 본론 : 중간중간 나와있는 여러가지 비유도 좋고, 알기 쉽게 그림과 화살표가 많이 나와있어 프로그램이 어떻게 돌아가는지에 대한 부분을 알 수 있었습니다. 무엇보다도 '손 코딩'이라고 나와있는 부분에서 나온 코드는 정말 코드 하나하나씩 주석을 달아 이게 뭐하는 코드인지에 대한 설명을 쫙 해놓아 '과도하게 친절하다(?)'라는 느낌이 들 정도였습니다.
-> 마무리 : 사실 이 부분이 가장 마음에 들었는데, 핵심 키워드를 뽑아 한줄 씩 요약함으로써 오늘 배운 내용을 한번에 정리할 수 있는 부분이었던 것 같습니다.
그리고 이 부분은 '혼공 용어노트'라는 곳에 한번에 모아놓아 시간이 날 때마다 바로 요약본을 읽을 수 있게 했더군요.
덕분에 버스 타고 도서관에 가는 도중에 조금씩 읽어볼 수 있었고, 머릿속에 용어 정리가 제대로 될 수 있었던 것 같습니다 이렇게 노트까지 제작한 배려깊은 책은 정말 드문 것 같습니다:)
( 저자님 정말 감사합니다 bb )
3. 앞에서 말했듯 필자는 포인터가 가장 어려운 부분이었고 그래서 이 책을 받았을 때 포인터 부분부터 공부를 했던 바 있습니다. 다른 책은 포인터 단원이 나올 때 한꺼번에 포인터 내용을 넣는 경향이 있는 반면, 이 책은 조금씩, 한단계 한단계... 느리지만 천천히 하나씩 극복해나가자란 느낌이 있어 읽어볼 때 타 책들보다 상대적으로 쉽게 읽어볼 수 있었던 것 같습니다. (덕분에 포인터를 다시 붙잡을 수 있게 되었습니다 ㅎㅎ)
마지막으로, 필자가 책 안의 모~든 내용을 읽어본 것은 아니지만, 다 읽어보게 된다면 이 책을 발판으로 한빛출판사의 다른 책들도 붙잡아 시스템 프로그래밍에도 도전을 해보고 싶습니다. 이렇게 생각하기까지 도움을 주신 저자님께 깊은 감사 드립니다. 개인적으로 프로그래밍을 어려워하거나 처음 접하게 될 주변 사람들에게 추천을 해주고 싶은 책입니다 :)