brunch

You can make anything
by writing

C.S.Lewis

by 게으른 개발자 Mar 28. 2023

개발자는 처음엔 어떤 실수를 할까?

생전 처음 겪는 프로그램과 return 0;

개발자, 프로그래머...


처음엔 이러한 직업이 있다는 사실도 몰랐습니다. 왜냐하면 그때는 1997년이었고 저도 꽤 어린 나이었기 때문이었죠. 고등학교도 들어가기 전 훨씬 어린 나이. 어떻게 프로그램에 관심을 가지게 됐을까요? 그리고 개발자라고 특별할까요? 아니면 다른 사람들과 똑같이 누구나 하는 실수를 했었을까요?



1995년


당시에는 프로그램에 아무도 관심이 없었을까? 제 생각엔 아니었습니다. 초등학생의 정말 어린 나이었지만 지나고 보면 충분히 짐작할 수 있는 정황들이 있었습니다.


여기저기 생겨나는 컴퓨터 학원, 학원마다 바글거리는 코흘리개 어린 학생들. 끝없이 높아지고 있던 교육 열기. 부모님들은 영재 교육이 된다는 이유로 컴퓨터 학원에 아이들을 보냈었어요.


얼리 어답터였던 외삼촌 덕에 92년도부터 컴퓨터를 접할 수 있게 되었습니다. 당시엔 정말 옛날 모습의 컴퓨터였죠.


우리 부모님 역시 이 덕분에 일찍이 컴퓨터를 접해 제가 컴퓨터 학원에 발을 쉽게 들일 수 있었던 것 같았습니다.


당시의 컴퓨터와 모습이 비슷한 참고 사진


결국 부모님의 손에 이끌려 컴퓨터 학원에 가게 되었습니다. 물론 저는 단순하게 컴퓨터에 관심이 가는 것은 아니었습니다. 


그 학원에서는 매주 수요일 게임을 할 수 있는 자유 시간이 있다고 이야기 했습니다. 그리고 아이의 눈에는 영재 컴퓨터 교육보다 수요일 마다 열리는 게임 시간이 더욱 마음에 들 수밖에 없었습니다.


부모도, 아이도 서로 다른 목표를 가진 채 컴퓨터 학원에 흥미를 가지는 순간입니다. 그리고 그렇게 컴퓨터 학원에 가게 된 저는 GW 베이직 이라는 프로그램 언어부터 배우기 시작했습니다.


GW BASIC - 출처:The GW-BASIC interpreter(Jim Hall, CC-BY SA 4.0)


시커먼 화면에 흰색 글씨로 행 번호부터 차례대로 적기 시작했습니다. 10행... 20행... 무슨 말을 하는지 이게 어떤 의미인지도 모른 채 따라 쓰기 시작합니다. 


선생님이 하라는 대로 하면 결과가 나옵니다. 어떻게 보면 그냥 계산기를 두드리는 것과 큰 차이가 없었던것 같아요. 실제로 컴퓨터는 우리말로 계산기니까요.


어린 나이의 저는 이게 꽤 신기했던 모양었습니다. 그렇게 95년 1년동안 컴퓨터 학원에 다니며 기본적인 학습 과정을 모두 마치게 되었지만 그래서 남는 것이 있었냐 물어본다면 기억이 나질 않습니다. 


너무 오래 되었기에...


하지만 프로그래밍이 무엇인지 처음부터 겁을 먹고 "난 그런거 못해" 라는 생각이 들지 않고 "아 예전에 한번 해봤던 거야" 라는 생각을 가지게 만들기에는 충분했습니다. 그리고 2년 뒤 중학생이 되어 C언어를 독학 해보기로 결심합니다.


그리고 책 한권도 구매합니다. 가장 만만해 보이는 제목이었습니다. 책 이름은 바로 "초보자를 위한 C언어 21일 완성" 제목부터 자신감이 넘치지 않나요? 



2년 뒤 1997년


초보자를 위한 C언어 21일 완성


책은 한글 번역본이었고, 프로그램 관련 업무를 해보신 분이라면 알겠지만 가장 처음 하는 일은 "Hello World"를 화면에 출력하는 것이었습니다. 굉장히 쉬운 첫 예제인데 책에 있는 것을 그대로 따라 적기만 하면 되기 때문이었습니다.


첫 예제 hello world 출력하기


책에 같이 동봉되어 있는 CD로 C언어를 설치하고 의미도 모르는 코드와 특수기호를 적기 시작합니다. 다 적은 뒤 책에서 시키는 대로 실행을 누릅니다.


그런데 책에서 나온것과 뭔가 다른 결과가 나왔습니다. 어린 나이에 영어는 읽을 수도 없었고 책에는 당연히 잘 될것을 가정하고 다음 예제를 향해 진도가 나갑니다. 이쯤되면 어디부터 잘못되었는지 혼란이 오기 시작합니다. 


왜 이러지? 설치를 잘못했을까? 아니면 내가 뭔가 잘못 적은 것은 없을까?


그런데 아무리 내가 쓴 것과 책을 대조해봐도 다른 점은 없었습니다. 끈기 있게 파고 들어서 문제를 해결 했냐고요? 아닙니다. 전 그렇게 끈기있는 사람이 아니었어요.


그렇게 조용히 책을 덮었다.



5년 뒤 2003년


프로그램과 담을 쌓은지 5년. 저는 이후에 정보통신과에 들어가게 됩니다. 어떻게 또 이런 관련있는 학과에 가게 되었냐고요? 그것만 해도 이야기가 상당하기에 나중에 다시 하겠습니다.


어쨌든 당시의 기억은 완전히 잊은 채 대학교 1학년 전공 수업인 C 언어 시간이 다가왔습니다.


첫 예제는 5년이 지난 그때도 "hello world" 출력하기 였습니다. 저는 또 똑같은 코드를 써 내려갑니다. 그리고 실행을 누르자 "hello world"는 나오지 않고 이상한 영어 메시지만 나옵니다.


그리고 제가 뭘 잘못했는지 한참을 찾아 해메던 도중 교수님이 다가와 알려주십니다.


"return O가 아니고 숫자 0이야. 제로."


숫자 0과 알파벳 O. 지금에서야 저 의미가 무엇을 하는것인지 알지만 당시엔 검은건 글씨고 흰건 종이였을 뿐. 어떤 의미를 찾을 수도 없었기에 일어날 수 있는 실수였습니다. 한 가지 차이점이 있다면 5년 전엔 바로잡아줄 수 있는 사람도, 검색해 볼 수 있는 인터넷도 없었을 뿐.


지금도 그때를 생각하며 만약 이랬다면 어땠을까 생각해 봅니다. 그리고 모든 일들은 바보같은 실수부터 시작한다는 것도 다시 한 번 저를 되돌아 보게 합니다.


'만약 숫자 0. return 0; 라고 적었다면 난 지금쯤 많이 달라졌을까?'



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari