생선의 살만을 발라 먹듯 C 언어의 핵심만 다루겠다는 의미로 지은 책 <C 발라먹기>. 이 책은 제목 못지않게 독자의 시선을 끄는 게 두 가지가 있다. 하나는 학생이 학생에게 가르치기 위해 썼다는 점, 다른 하나는 글 실력이다. 이 책을 읽으며 머릿속에 여러 의문이 끊이지 않았다. 여럿이 글을 다듬었을까? 프로그래밍 언어에 입문한다면서 굳이 C 언어를 다룬 이유는 무엇일까? 아두이노를 하려는 건가. 무엇보다 많고 많은 C 언어 책을 뒤로한 채 직접 책을 쓴 이유가 궁금했다. 그래서 기회가 된다면 저자를 직접 만나보고 싶었다. 서울 미아역 인근 한 카페에서 저자를 만날 수 있었다. 앳된 얼굴의 한 학생이 내게 인사를 건넸다.
Q. 자기소개 부탁해요.
신일고등학교 2학년이에요. 2017년부터 자율동아리 BOY is Object-oriented programming Yearner의 회장을 맡고 있어요.
Q. 프로그래밍 언어는 언제부터 관심이 있었나요
정보처리기능사 자격증을 따면서 프로그래밍에 흥미가 생겼어요. 학원에서 비주얼 베이직을 시작으로 C 언어를 조금 배웠거든요. 이후로는 책이나 다른 자료를 보면서 C++ 언어를 독학했어요. 루비온레일즈도 동아리에서 쓰려고 독학했죠. 깊게는 아니지만 리스프(lisp)도 조금 할 줄 알아요. 사실 언어보다는 컴파일러에 관심이 더 많아요.
Q. 어떤 동아리인가요?
신일고등학교에는 줄기와 잎새 동아리가 있어요. BOY is Object-oriented programming Yearner 동아리는 학생이 자율적으로 만든 잎새 동아리예요. 선도학교 같은 다른 학교도 있었지만 공부 외에도 이런 다양한 활동 기회가 많다고 해서 자율형 사립고에 들어왔고, 만족하고 있어요.
동아리 친구는 크게 보면 컴퓨터를 깊게 배우고 싶은 친구와 당장 무언가 만들고 싶은 친구 두 부류예요. 당장은 프로그래밍 언어를 배우는 게 목표라서 한 그룹은 C 언어를, 다른 그룹은 루비(Ruby)를 공부하고 있죠. 언어를 떼고 나면 교과 과정의 적분, 확률을 구현하거나 테트리스처럼 간단한 게임을 개발하려고 해요. 학교 축제 때 딱딱한 프로그램보다는 여럿이 즐길 수 있는 프로그램을 보여주고 싶거든요.
Q. Object-oriented programming이라니. 객체지향을 공부하나요?
아니요. 2017년에 처음 자율 동아리를 했어요. 그때 재밌는 이름을 짓고 싶어서 동아리 이름에 재귀(Recursion)란 단어를 썼었어요. 올해에도 다른 이름을 찾다가 객체지향을 쓴 것뿐이에요.
Q. 동아리 활동이 궁금해요.
처음에는 19명이었는데 지금은 15명 정도예요. 매주 1회 컴퓨터실에서 동아리 활동을 하고 있어요. 매주 스스로 읽고 공부해야 할 분량이 정해져 있고, 책을 읽고 코딩하면서 프로그래밍을 배우고 있어요. 아직은 문법을 익히는 단계고, 주어진 흐름을 코드로 바꾸는 것을 많이 해보고 있어요.
Q. 프로그래밍 사고가 어렵진 않나요?
중학생일 때 프로그래밍을 처음 접했는데, 생각보다 어려웠어요. 그런데 지금은 좀 더 빠르게 배우는 것 같아요. 더 성장했기 때문일까요? 친구들을 봐도 그렇고요.
Q. 리얼타임 Web Book을 통해 낸 <C 발라먹기>가 첫 책이겠네요.
고등학교 입학과 함께 동아리에 들어갔어요. 그때는 컴퓨터를 배운지 1년도 채 되지 않았기 때문에 어떤 책이 좋은지, 내가 아는 것을 어떻게 쉽게 설명할 수 있는지도 잘 몰랐어요. 동아리에는 프로그래밍 언어를 아는 친구가 저를 포함해 단 두 명뿐이었어요. 고민하다가 기왕 동아리 활동을 하는 김에 아는 것을 적어보기로 했어요. 방학 2주 동안 글에만 집중했어요. 그랬더니 대략 20쪽 정도로 정리되더군요. <C 발라먹기>는 여기에 올해 동아리 활동을 하며 내용을 추가해 책으로 낸 것이에요.
Q. 책 제목이 재밌다는 말이 많아요. C 발라먹기란 이름은 누가 지었나요
사실 제 어머니가 지어주신 이름이에요. 친구들도 이름이 재밌다고 하더군요. 학교에는 저희 동아리 외에도 여러 프로그래밍 언어 동아리가 있어요. 다른 학교에도 몇 개 있고요. 몇몇 동아리는 C 발라먹기로 공부한다고 들었어요. (웃음)
Q. 첫 책의 느낌이 남달랐을 거에요. 주위 반응은 어땠나요
친구들로부터 대단하다는 말을 가장 많이 들었어요. 사실 전 그리 대단한 일을 했다고 생각하지 않아요. 누구나 관심이 있다면 자신이 아는 분야의 책을 쓸 수 있다고 생각하거든요.
Q. 요즘은 프로그래밍 입문으로 파이썬이 대세잖아요. 굳이 C 언어를 썼나요.
당시 제가 아는 언어가 C 언어뿐이었어요. (웃음) 처음 비주얼 베이직을 배우고 C 언어로 넘어왔어요. C 언어를 배우고 나니 다른 언어가 참 새롭게 느껴졌어요. 이 언어 저 언어에 빠질수록 점점 더 컴파일러에 대한 흥미가 커져갔어요. 언젠가는 직접 프로그래밍 언어를 하나쯤 만들어볼 생각이에요. 물론 컴파일러까지요. 당장은 학업에 열중해야 되지만요.
Q. 서점에 좋은 입문서가 많은데요.
학생인지라 책 가격이 부담스러웠어요. 용돈을 받는 학생이 필요한 책을 다 사기는 어렵거든요. C 언어를 택한 것은 제가 잘 아는 언어였기 때문이에요. 워낙 유명해서 입문자를 위한 튜토리얼도 잘 갖춰져 있고요. 그래서 책을 쓰는 게 힘들지는 않았어요. 방학 때 노는 것보다는 시간을 더 알차게 보낸 것 같아 뿌듯해요.
Q. 글이 깔끔해서 저자가 궁금했어요. 동아리 친구들과 글을 여러 번 다듬었을 것 같아요.
사실 제가 거의 다 썼어요. 교정, 교열이라기보다는 동아리 친구가 읽고 잘 이해되지 않은 부분을 알려주면 그 부분을 더 쉽게 풀어쓰는 것을 더 많이 했어요.
고등학교에 입학하며 공부 외에도 해야 한다고 느낀 게 두 가지예요. 바로 글쓰기와 말하기예요. 고등학교 2학년이 되면서 친구가 말하고 글로 쓰는 것을 보며 자극을 받았거든요. 글을 잘 쓰고 말을 잘하는 게 정말 매력적이라고 생각했어요. 그런데 이 둘은 노력하지 않으면 결코 늘지 않아요. 그래서 평소에도 이런 저런 주제로 수필을 쓰고, 교내 글쓰기 대회가 열리면 무작정 나가고 있어요. 방과후 수업 중 책을 읽고 발표하는 수업에서는 주로 말하기 연습을 하고 있어요.
몇몇 친구들은 이과인 제가 글쓰기와 말하기에 관심을 가지는 걸 의아해해요. 전 이과라도 자신의 의견을 글에 담아내는 능력이 중요하고 생각해요. 그래서 더 잘하기 위해 평소에도 연습하고, 또 연습하죠.
Q. 입시만으로도 어깨가 무거울 텐데, 동아리 활동이 힘들지 않나요?
정규 교과 과정을 따라가며 동아리 활동까지 한다는 게 쉽지는 않죠. 그래도 동아리 재밌어서 즐겁게 하고 있어요. 대학 진학에 도움이 되는 것은 아니지만, 점차 실력이 느는 데에서 스스로 즐거움과 보람을 느끼고 있어요.
Q. 동아리 활동을 하며 만들어 본 애플리케이션은 없나요? 재미있는 에피소드도 있을 거 같아요.
올해에는 동아리를 몇 번 하지 않았어요. 아직은 언어를 배우는 단계라 이렇다 할 게 없어요. 만드는 게 있기는 한데 말할 정도는 아니에요.
(고민하다가) 딱히 에피소드라고 할 만한 것은 없고, C 언어를 가르쳐본 사람은 공감할 만한 얘기는 하나 있어요. C 언어는 대부분 #include <stdio.h>로 시작하는데, 처음 언어를 배우는 친구의 대부분이 stdio.h를 studio.h라고 잘못 치더군요. (웃음)
Q. 마지막으로 하고 싶은 말 없나요?
앞으로도 기회가 된다면 이런 저런 책을 더 써보고 싶어요. 책으로 남기는 과정에서 지식이 한 번 더 정리되고, 아는 것을 다른 누군가에게 어떻게 설명할지 고민하는 게 제게도 큰 도움이 되어서요.
이전 글 : 시스템의 발전은 시스템 엔지니어의 발전을 필요로 한다
다음 글 : 딥러닝의 미래
최신 콘텐츠