kdy0***
2019-07-06

이 책은 독학으로 C 언어를 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지조차 모르는 입문자의 막연한 마음을 살펴, 과외 선생님이 알려주듯 친절하게, 그러나 핵심적인 내용만 콕콕 집어준다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 C 언어를 배울 수 있다는 자신감과 확신이 계속될 것이다!
나는 C언어를 독학으로 해본 경험이 있는 사람이다. 고등학교 때 친구에게서 얻은 C언어 책을 보면서, 혼자서 비쥬얼 스튜디오를 다운받고, 책에 나와있는 예제들을 하나하나 직접 컴퓨터에 두드려보며 공부를 했었다. 그러나 예제를 직접 컴퓨터에 두드리고 예제에 대한 설명을 하나하나 읽었음에도 기초적인 걸 넘어서면 곧잘 이해하기가 어려웠고, 때문에 연습문제로 나와있던 것을 전혀 해결할 수가 없었다. 결국 나는 C언어 공부를 포기하게 됐고, 그렇게 몇년이 흘렀다. 우연히 한빛미디어에서 '혼자 공부하는 C언어'라는 책의 리뷰어를 뽑는다는 것을 보게 됐다. 처음에는 그때와 똑같이 끝나버릴까 걱정되어 신청하지 않았지만, 그래도 혹시나 하는 마음에 리뷰어로 신청을 하게 됐고, 책을 받아 리뷰 작성에 참여할 자격을 얻었다.
결론부터 말하면 이 책은 내가 이제껏 봐왔던 C언어 책 중에 가장 마음에 드는 책이었다. 그 이유는 다음과 같다.

이 책은 설명이 상당히 친절한 책이다. 아마 다른 C언어 책을 보다가 이 책을 보게 된 사람이라면 그 차이를 확실히 알 것이다. 대개의 C언어 책은 #include <stdio.h>와 같은 것들에 대한 설명이 그렇게 자세하지 않다. 또는 설명이 있다해도 그렇게 눈에 띄지 않을 것이다. 때문에 예제 코드를 입력하더라도 무슨 내용인지 제대로 이해하지 못한 채 복붙하듯이 입력할 수 밖에 없다. 그러나 이 책은 코드에 들어가는 내용 하나하나를 자세히 설명해준다. 마치 옆에 선생님이 붙어서 내게 친절하게 설명해주는 느낌이다. 이런 장점 덕에 나는 그동안 내가 C언어를 공부했던 부분 중 이해하지 못한 채 넘어간 것들을 명확히 이해할 수 있었다.
두번째 장점은 각 챕터의 요점 정리이다. 내가 과거에 봤었던 다른 C언어 책의 경우, 본문의 설명이 끝나면 바로 연습문제에 돌입을 하는 식이었다. 문제는 그 많은 설명을 읽었음에도 내용 이해가 잘 되지 않은 채 문제를 풀어야 하는 것이었고, 때문에 원하는 답이 나오게 코드를 입력했다 하더라도 계속 앞에 있는 내용을 다시 보고 입력하고를 반복했었다. 그러나 이 책은 연습문제를 풀 때는 풀더라도 자기가 본문에서 배웠던 내용의 요점을 정리할 수 있도록 각 챕터의 마지막 부분에 이처럼 정리를 해준다. 그래서 자기가 배웠던 내용을 상기함과 동시에 연습문제를 풀 때도, 적어도 자기가 배운 것을 완전히 잊은 채 풀지 않을 수 있도록 해준다.
마지막 장점은 '혼공 용어노트'에 있다. 만약 이 책의 독자가 컴퓨터공학도와 같은 사람이라면 괜찮겠지만, 비전공자가 프로그래밍을 공부하게 되면 프로그래밍에서 쓰이는 용어 등이 많이 낯설다. 때문에 본문에 충분히 설명되어 있지만, 대개의 프로그래밍 서적이 그렇듯 이 책 또한 두껍기 때문에 휴대성이 떨어져서 본책만 갖고는 언제 어디서든 공부하기에는 적절치가 않다. 이 책은 그 점을 잘 알고 있었는지, 책의 맨 뒤에 '혼공 용어노트'란 것을 달아놔서, C언어를 배우는 데에 필요한 용어들을 간결하고 명확한 설명을 통해 알 수 있음과 동시에, 독자들이 언제 어디서든 관련 용어를 학습하는 데에 이해가 되도록 지원하고 있다.
세상은 넓고 C언어 교재는 많다. 그러나 당신이 어떠한 이유로든 C언어를 기초부터 하나씩 차근차근 배울 마음이 있다면, 나는 이 책을 과감없이 추천하겠다. 정말로 이 책은 '혼자서 공부를 하더라도' C언어를 이해할 수 있도록 만들어진 아주 좋은 책이다.