본문 바로가기
BOOKS BOOKS BOOKS

C 언어 코딩도장 길벗 / 프로그램 언어는 꿈을 이루는 과정에서 도구일뿐 ^^

by 19810721 2019. 7. 20.

이 책은 무려 1380 page 이다. 이 책이 궁금한 이는 아마 이 이야기를 듣고 갑작스레 가슴이 답답하고 소화가 안되고, 두통이 찾아오는 기분이 들지도 모르겠다. 이 책을 미리 마침내 감당해 내고 이 글을 적어 볼 테니, 부디 포기하지 말자. 이 글은 그냥 한 두 페이지 정도일 테니

 

이 책은 2권으로 분권이 되어있다. 책의 내용이 많다 보니 페이지가 많고, 그렇다 보니 이 책을 들고 어딘가로 이동한다는 것은 상당한 노고가 필요하다. 그만큼 책이 알차다는 이야기다. 다른 책처럼 1권에는 굳이 알아야 하나 싶은 역사와 개론을 줄줄이 적어 놓고, 2권에는 실전편이라는 제목을 붙이고도 결국 1권의 내용이 부실해서 두 마리의 토끼를 다 놓치는 책들도 있는데, 다행이 이 책은 그냥 책을 구입한 그대들이 책을 들고 다니기 편하도록 배워야 할 내용의 가운데를 그냥 나누어 놓았다. 고마울 따름이다.

 

큰 한 권을 사면 이렇게 작은 두 권으로 나누어 보게 된다. 종이 나부랭이도 짝이 있거늘... 후...

 

사실, 수 년 간 이어진 프로그래밍 경험이 있음에도 학부 1학년 때 잠깐 스쳐가듯 배우고서 기초라는 편견을 갖고 다시 쳐다보지 않은 C 언어를 이 책을 통해 다시 보게 되고 익혀야 할 필요가 있을까 하는 생각이 있었음이 사실이다. 그러나, 국영수를 잘 해야 다양한 생각을 논리적으로 전개하고 올바른 판단을 함과 동시에, 더 다양한 사람과 소통을 할 수 있는 것처럼, 프로그래머의 세계에서는 거의 모든 프로그램 랭귀지의 뿌리라고 할 수 있는 C 언어를 제대로 배움으로써 키보드 위에 손가락을 얹기 전까지 기초 체력을 탄탄히 할 수 있는게 아닌가 하는 생각을 하게 되었다.

 

책의 내용을 전부 소개할 순 없고, 읽어 본 경험자로써 가장 놀라웠던 부분과 다른 책에서 찾아보지 못한 감동적인, 아니 초보자들에게는 가장 필수적이라고 볼 수 있었던 부분을 언급하고자 한다. 아마도 10 년 전 즈음, 대부분의 프로그램 랭귀지 책은 그 언어의 시작, 역사, 변수 선언과 함수의 생성으로 해서 시작되다가 이제 본격적으로 내용이 시작 되려는가 싶으면, 어느 새 미흡한 설명과 고의 누락으로 그냥 초보자들이 예제 소스를 경험해보는 수준에서 대동소이 했던 것이 사실이었다. 솔직해보자. 닷넷은 MS 를 칭찬하는 글과 비쥬얼 스튜디오를 설치하는 화면들로 첫 장이 끝이 나고, 자바는 무료로 쓸 수 있다며 이클립스 설치 안내로 끝나고는 바로 변수 선언과 함수와 객체에 대한 설명이 시작되지 않았던가그러나 이 책의 2번째 날 과정, 6장에서는 개발자로써 가장 먼저 알아야 하고 끝까지 절대 놓치지 말아야 하는 디버깅 부분이 포함되어 있다. 이게 무슨 말인고 하니… “내가 무엇을 모르는지를 모르는 상태를 빨리 벗어나야 한다라는 명제를 가장 빨리 해결할 수 있는 모든 개발 Tools 의 가장 기본적인 기능을 이 책은 빼 놓지 않았다는 점이다. 어쩌면 그동안 다른 책에서 볼 수 없던 이유는 IDE 도구마다 용어가 살짝 다르고 사용법이 다르고 단축키도 달라 직접 프로그래밍을 경험하고 익히고 그 필요성을 느끼고 나서야 사용할 수 있는 뒤에 숨겨진 강력한 도구인 디버깅 도구를 상세하게 설명하기엔 노력이 많이 필요하고, 특히 언어를 소개하는 책에서 IDE를 상세하게 다루는 것은 안 그래도 책 분량 채우기에 급급한 부담을 가진 저자들 입장에선 힘든 부분이었을 테니 말이다. 하지만 이 책은, 단축키 목록까지 상세하게 나열하며 디버깅에 대한 설명을 친절하게 포함시킨 첫 책이지 않을까 생각한다. 개발자 커뮤니티에 하루에도 몇 개씩 올라오는 책에서는 잘 되는데, 저는 안되요.” 라던가, 실수를 눈치 못 채고 제 코드는, 정답과 달라요.” 라는 질문들을 그 질문을 올린 개발자가 직접 가장 먼저 빠르게 살펴볼 수 있게 하는 기본적이면서도 강력한 도구가 디버깅임에도 불구하고 모르는 이가 많은데, 디버깅은 해 보셨나요. 라는 답변을 달기에 지친 개발자들이 어느 순간 답변을 포기하는 경우가 수 없이 많은 걸 안다. 그러니 무조건 디버깅은 배워 놓자. 하나의 IDE 에서 디버깅을 배워 놓으면 다양한 IDE 에 디버깅 기능들이 눈에 들어오기 시작하면서 사용을 하지 않을 수 없는 강력한 기능에 빠져들고 만다. 프로그래머가 디버깅을 모르는 것은그 예를 들자 하니, 너무나 끔찍하여 글로 적을 수조차 없는 여러 생각들이 밀려온다.

 

책 한 권을 읽고 나서 엉뚱하게도 꿈을 가져야 한다는 이야기를 풀어보자. 아주대 인지심리학 박사 김경일 교수는 창의력에 관련된 한 발표에서 인간은 도구나 방법부터 먼저 보기 시작하면 절대 큰 일을 못한다.”라고 이야기한 바 있다. C 언어라는 근본적인 프로그래밍 언어는 모두의 손에 아무런 대가를 치르지 않고도 얻을 수 있는 도구라고 볼 수 있다. 그러니, 우리는 다른 사람에게 말하기 부끄러울 정도로 실현 가능성이 없거나 큰 꿈을 갖고 도전하며, 그 과정에서 얻어진 도구인 C 언어에 대해 다른 생각을 가져야 한다. 단순히 어렵거나 배우기 힘들다 하거나 그저 옛날 언어라고 생각하고 마는 평범한 사람들과는 달리, 새로운 시선으로 기술로써 연습하고 훈련하고 익혀서, 그 체력을 기반으로 무언가 생산하고 만들어 냄으로써 꿈과 목표를 향해 나아가게 만드는 밑거름으로 잘 활용할 수 있기를 바라는 바이다. 다시 말하면 Copy & Paste 같지만, C 언어는 모든 프로그래머가 배우고자 하는 다양한 다른 언어의 기본 언어이다. 꿈을 갖고 목표를 가진 이에게는 앞으로 이루게 될 꿈과 가까워지는 40 Days 가 될 것이고, 그저 C 언어를 배워야 한다고 생각하는 이에게는 꿈에서 나올까 두려운 그저 그냥 어려운 컴퓨터 외계어처럼 느껴지는 부담일 뿐일 테니….

 

가장 드라마틱하게 두껍고 무거워 보이는 각도에서 찍었다. 아, 길을 가다 나쁜 사람 만나도 찍어도 되겠다. 책으로..

 

책을 읽는 내내 지난 10 여 년 프로그래머로 살아오면서 여러가지 응용의 영역에서 이 부분이 왜 이럴까? 왜 저럴까?” 가졌던 다양한 의문들이 아이러니하게도 가장 처음 제대로 익혔어야 할 C 언어의 설명에서 해결되는 부분이 많았다는 것을 알게 되었다. 대부분의 프로그래밍 언어 책들도 설명이 난해한 부분에서는 결국 C 의 어느 부분이 이 부분과 같거나 더 향상되었다. 라고 설명하고 마는 부분이 많다. 이 책의 저자도 Unit 1 의 첫 번째 페이지에 프로그래밍 언어는 그저 도구에 불과하다.”라고 적어 놓았으니, 그 도구 중 가장 기본적인 도구인 C 를 두려워하지 말고 원하는 것을 만들어보자. 그것이 무모하고 어려운 것이라도 좋다. 그 과정은 분명 여러분을 또 다른 꿈과 색 다른 도전에 힘이 되는 도구가 될 것이다. 설사 다른 도구가 필요하다고 해도 이미 배운 기술과 실력으로 아주 쉽게 다양한 도구를 다룰 수 있게 되리라 확신한다. 훌륭한 건축가는 우리가 안전하게 편안하게 행복하게 그 집에 머물게 하는 것에 집중한다. 망치와 못, 톱과 줄자, 페인트와 붓에 집착하는 건축가는 튼튼하고 정확하고 아름다운 집을 만들어 내지 못한다. C 라는 아주 강력한 도구가 오늘 이후로 당신의 오른손에 들려 있게 되기를 간절히 바란다.

 

한가지 아쉬운 부분은 책에서 강조가 필요한 부분이 전부 붉은 색이어서 눈이 금방 피로하다 느낀다는 점(차라리 녹색이었다면…)이고, 인터넷 수능 강의, 특히 마지막 영상에서 구구절절 인사에 익숙해져 있는 젊은 세대들을 위해 책의 마지막 챕터에서는 그동안 수고했다는 인사말이라도 간단하게 해줬다면, 독자 스스로도 성취감으로 뿌듯하고 저자에게도 감사하다는 생각과 피드백을 하고 싶다는 생각을 하게 되지 않을까 하는 조금은 아쉬운 부분이 있다. 그래서 나도 인사없이 요약으로 마무리 한다.

 

이 책은 1380 페이지이다. 프로그래머이거나 혹은 되고 싶은 당신의 꿈과 목표를 이룰 수 있게 만드는 C 책이며, 아주 무겁다. 그래서 2권으로 분권 되었지만, 가격은 놀랍게도 오직 25,000 원이다. 온라인 주문하면 친절하게도 택배비만큼 할인도 해주는데, 정작 택배비는 공짜다. 할부가 필요하다면, “파이썬 코딩도장” 25,000 원을 장바구니에 함께 추가하면 된다.

 

파이썬을 만나 보았는가….. C와는 다르게 문장의 끝에 “ ; “ 세미콜론이 없다. 미안하다. 위에서 몇 번이나 언급한 모든 언어의 뿌리가 C 언어라 한 말이 거짓이 되어 버린 것이다. 그러나 너무 놀랄 것도 없다. 이 마지막 문장을 읽고 있는 그대도 지금 이 순간이 거짓말 같지 않은가...