열심히 '이것이 C언어다'란 책을 통해 C언어를 공부하고 있는데, 알고지내는 지인이 이런말을 했다.
"이 책으로 C언어 공부하면 이런 로봇도 만들 수 있는 거야?"
이 책의 겉표지엔 굉장히 으리으리한 로봇 하나가 서 있는데 그걸 보고 물어본 질문이다.
사실 C언어는 모든 언어의 기본이 되기도 하고, 대부분 개발자가 처음 언어를 공부한다고 하면 공부하는 언어이기도 하다. 또한 실제로도 C언어는 임베디드나 운영체제, 특히 성능이 중요한 분야에서는 활용도가 높고 기본이 되는 언어이다. 그래서 이 책을 보고 C언어를 공부하면 사실 이런 로봇도 만들 수도..? 있다고 생각된다.
C언어는 모든 언어 중 가장 기본이 되는 언어인 것은 사실이고, 처음 개발을 시작할 때 공부하는 언어이다. 나 역시 처음 프로그래밍 공부를 시작할 때 C언어 기본 입문서를 잡고 공부를 했던 기억이 있다. 그렇게 매번 언어 입문서를 보고 공부하다보면 같은 곳에서 손을 놓았던 기억이 난다. 바로 문자열에서 배열과 포인터의 관계, 포인터에 대한 개념이 들어가면서부터이다. 몇번이고 읽어보지만 혼자 공부할 때마다 이해하기가 힘들었고, 그러다보니 흥미가 자연스럽게 떨어져 책을 놓게 되었다. 그래서 '이것이 C언어다'를 볼 땐 무엇보다 첫 입문자의 마음으로 C언어를 할 때 어렵게 다가왔던 개념들에 대해서 잘 이해할 수 있을지, 혼자서 이 책으로 공부할 수 있을지에 대해 관심을 갖고 보게 되었다.
책은 크게 두개의 파트로 나눠져 있는데, Part1.C언어의 기본과 Part2.C언어 고급. 즉 기본과 고급으로 나눠져 있다.
처음 언어를 시작하는 사람이라면 우선적으로 목표를 C언어 기본에 두고 공부를 하고, C언어를 알고 있으나 이해를 넓히고 싶다면 앞부분은 생략하고 고급에서부터 시작해도 상관없다고 생각된다.
C언어 기본 파트에선 C언어에서 가장 기본적으로 다루는 문법적인 부분을 설명한다. 첫 장에서 기본적인 컴파일러의 의미, 프로그램이 어떻게 실행하는지를 시작으로 변수/상수의 의미, 조건문/반복문, 함수, 배열, 기초적인 포인터의 개념을 다루고 있다.
C언어 고급 파트에선 배열과 포인터의 관계나 문자열 처리방법, 동적할당, 다차원 배열, 구조체 등 C언어에서 다루는 고급적인, 조금 사람들이 이해하기 어렵다고 생각하는 개념들에 대해서 설명하고 있다.
이 책의 저자 서현우님은 C언어 전문강사로 12년째 일을 하고 계신 분이라고 한다. 그래서 그런지 책 전체적으로 C언어를 사람들에게 쉽게 이해할 수 있게 전달할 수 있는 방법을 고민하고 작성했단 느낌을 많이 받았다.
우선, 책 전체적으로 실습하며 따라할 수 있는 실습위주의 방식으로 하고 있어서, 각 개념들을 따라치며 자연스럽게 이해할 수 있다. 그리고 각 챕터에 핵심이 되는 문장에 굵은 음영표시로 강조하여 이해를 도와주고 있다.
무엇보다 이 책의 가장 큰 특징은 이해하기 어려운 부분을 이미지로 도식화한 설명이 많다는 것이다. 대부분 처음 접하는 사람들은 글이나 코드로 된 설명으로만 보게 되면, 이게 무슨 말인지? 무엇을 의미하는 지 이해하기가 힘들다. 그런 부분들을 머릿속에 쉽게 그려볼 수 있도록 많은 이미지로 도식화하여 제공 해주고있어 이해를 도와준다.
마찬가지로 처음 C언어를 배울 땐, '왜 이렇게 사용하는 지?', '왜 이렇게 되는건지?'에 대한 의문이 들때가 있는데, 혼자 공부하게 되면 그냥 이런거구나 하고 끝나기 마련인데, 책에 왜 이렇게 사용되는지, 왜 이렇게 되는건지에 대해서도 꼼꼼히 기입하고 있다. 또한 '왜?'에 대해서 뿐만 아니라 C언어를 하면서 흔히 하는 실수에 대해서도 책에 기입하고 있어, 혼자 자습하기에도 좋은 책이라고 생각된다.
또한 매 챕터에 연습문제와 실전예제를 제공해주고 있다. 각 문제와 예제는 기초적인 알고리즘 문제 형태로 제공된다. C언어를 배운 다음, 다음 관심을 갖고 공부할 과목은 알고리즘일텐데 각 챕터에서 배운 문법을 알고리즘 문제에선 어떻게 쓸 수 있는지 어떤 프로그램을 만드는데 쓰는지 알 수 있어, 배우는 데 흥미를 계속 갖을 수 있게 도와준다.
끝으로 책을 구매하면 동영상 무료강의를 볼 수 있단 것도 이 책의 큰 특징이다. 대부분 이 책을 구매하는 사람들은 처음 C언어를 공부하려고 하는 사람들일텐데 책으로만 봤을 때 이해하기 힘든 부분은 동영상을 보면서 공부할 수 있게 되어, 좀더 끝까지 포기하지 않고 C언어를 공부할 수 있는 계기가 될 수 있다.
챕터별 강의를 앞페이지에서 QR코드로 제공하고 있다. 행여 강의를 못찾을까봐 QR로도 제공하는 것 같다.. 이러한 부분만 봐도, 이 책은 처음 공부하는 사람에게 친절하게 가능한 많은 도움을 주려고 노력한 책이라고 생각된다. C언어에 대한 입문서들이 이미 많이 나와있지만, 혼자 자습해야 하는 사람, 또는 너무 어렵게 된 내용에 C언어를 포기한 사람들에게 이 책을 추천해주고 싶다.
이 책은 한빛미디어에서 만드는 '이것이ㅇㅇ이다!' 시리즈 중 하나로 '이것이 C언어다'는 C언어에 대한 내용을 다룬 기본서적이다. '이것이 ㅇㅇ이다.' 시리즈 대부분은 언어에 대한 기본서적이 많고, 겉표지 디자인이 로봇으로 되어있는 특징? 을 갖고있다. 혹시나 으리으리한 로봇 디자인의 책을 모으고 싶다면 이것이 ㅇㅇ시리즈를 한번 찾아보는 것도 좋을 것 같다. 개인적으론 '이것이 안드로이드다'의 안드로이드 겉표지를 좋아한다..
'이것이~'시리즈에 대한 정보는 여기서 볼 수 있다.->링크