본문 바로가기

나래온 1기 운영진/이방인

C++을 시작하려면 미분적분학 먼저 공부하고 와라? 서문의 허세 극복하기

 옛날 옛적, 제가 처음 프로그래밍을 시작할 적에 C++ 바이블에서 그 책을 공부하려면 미적분학을 잘 알아야 한다고 나오는 책이 있었습니다. 그렇다고 그 책이 알고리즘을 다룬거냐면 그렇지도 않고, 그냥 그 시절 유행하던 바이블 중 하나였습니다. 중, 고등학생들 중 프로그래밍 좀 한다는 형들이 있어보이려고(사실 10년 전에도 지금도 주 정보원은 데브피아로 대표되는 인터넷, 그리고 진리의 MSDN이죠) 들고다니던 그런 책이죠. 어찌보면 제가 C++을 나중에 아예 건드리지도 않게 된 것도 저 바이블의 저 문구 때문일지도 모릅니다.

 지금 대학까지 와서 미적분학을 공부하는 입장에서 볼 때 저 문구는 요즘 프로그래밍 입문 나이(최근 초등학생도 프로그래밍 많이들 하죠)를 볼 때 프로그래밍을 하지 말라는 소리로밖에 안들립니다. 물론 프로그래밍을 공부하다보면 미적분학 필요합니다. 하지만 알고리즘이나 자료구조를 전문적으로 다루는 책도 아니고 그 시대에 유행하는 기술을 수박 겉핥기 식으로 훑고 말 책에서 서론부터 저런 소리를 해서 배우려는 학생들을 주눅들게 만드는건 매우 아니라고 봅니다.

 저는 무언가를 시작할 때 그에 대한 책을 적어도 5권 이상 읽어보고 시작하곤 합니다. 그런데  가끔 "XX 못하면 OO라는 일은 시작도 하지 마라." 라는 문구를 서론부터 써놓는 책들이 꽤 있습니다. 그러나 그 말을 무시하고 과감하게 시작해보면 그 XX라는 것이 중요하긴 하지만 그 일을 해나가면서 자연스럽게 알아나갈 수 있는 경우가 많았습니다. 제 생각엔 저자들이 하도 오래 그 일을 하다보니 XX라는 것이 자연스럽게 배워졌다는 것조차 잊어버리고 입문자들에게 저것을 강요하게 된 것 같습니다. 개구리가 올챙이에게 점프력을 강요하는 상황을 상상해보면 이해해 볼 수 있을 것입니다.

 결론은 책이 하는 말을 모두 다 곧이 들어선 안 된다는 겁니다. 서문부터 읽어야 한다는 사람들이 가끔 있는데, 책의 처음과 마지막 부분은 객관적 지식보단 작가의 개인적 생각이 더 많이 들어가기 때문에 책의 말을 그대로 믿는 사람들에게 그 부분들은 독이 될 수 있습니다. 책을 비판적으로 읽을 줄 아는 분이라면 다 읽는게 당연하지만, 그럴 수 없다면 서문은 넘겨버리고 본문부터 읽으세요. 잘못하면 본 내용도 아닌 서문 따위가 이제 막 시작하려는 당신의 의지를 꺾어버릴 수도 있습니다.


2019년 1월 26일 추가.

요즘은 이런 현상들이 모든 분야에서 이뤄지는 것 같다. 하다못해 게임도 서로를 욕하며 XX 못하면 이 게임 하지도 말라는 악담들을 주고받는다. 하물며 이 시대에 한국인으로서 맞추어야 할 조건의 리스트는 정보의 바다라는 인터넷 시대에 맞추어 비대해지기를 반복해 이젠 어떤 종교의 경전 내용보다도 엄격해졌다.

그래서 나아졌을까? 사람들은 인생에 도움이 되긴 하는지도 알 수 없는 이상한 조건들을 만족하기를 포기했다. 그들은 'N포 세대'를 형성했고, 그저 거기에 개의치 않는 강철 멘탈을 지닌 똑같은 수준의 사람들만이 서로를 물어 뜯으며 살아간다.

자격을 강요하고 싶으면 거울부터 보는 게 좋다. 그래도 그럴 자격이 있는 것 같다면, 다른 사람들이 당신을 불쌍히 여겨 숨기는 비밀을 하나 알려주겠다. 당신도 사실 그거 그렇게 잘하진 않는다. 까놓고 말하면 꽤 딸린다. 증명된 사실이다.