메뉴 건너뛰기

close

명의 시민기자가 개의 기사를 작성하였습니다. 시민기자 전환하기
프로그램과 코딩으로부터 삶의 팁을 얻습니다. 머리를 쥐어뜯던 개발자의 뜯긴 머리카락 정도의 깨달음과 코딩에 대한 종이 한 장 만큼의 지식을 담았습니다.[기자말]
"아.. 왜 또 이래?"

또 에러(Error)다. 분명히 로직도 잘 설계했고 문법도 다 맞췄는데, 컴퓨터는 내가 열과 성을 다해 만든 프로그램을 입안에서 잠깐 굴려보더니, 마치 못 먹은 걸 먹었다는 듯이 화면 가득 에러를 토해낸다. 벌써 몇 시간째인지... 붉게 물든 화면을 보는 내 얼굴도 덩달아 붉게 달아오른다. 아우, 이걸 그냥.

컴퓨터는 거짓말을 하지 않는다는데, 아무래도 그게 거짓말인 것 같다. 이 녀석은 분명 거짓말을 하고 있다. 이럴 리가 없는데, 이제까지 수차례 사용해왔던 방식인데, 에러라니. 한숨이 나오고 머리가 도리질 쳐진다. "이상하네... 이상해..." 나도 모르게 읊조리고 있으니, 지나가는 선배가 한마디 툭 던진다.

"컴퓨터는 거짓말 안 해~ 알지?" (씨익)

'컴퓨터는 거짓말을 하지 않는다.' SW개발자 사이에선 아주 유명한 명언이다. 뭔가 잘못됐다면 사람이 잘못한 것이지 컴퓨터가 스스로 잘못하지는 않는다는 진리에 가까운 이야기. "이거 왜 이래?" 하며 현실을 부정하고 있으면 으레 듣게 되는 진실의 메아리이기도 하다. 아... 결국 내 잘못이란 얘긴가? 난 정말 최선을 다했는데.. 화인지 억울함인지 모를 심정에 괜히 울컥한다.

하지만 울컥하는 내 마음과는 반대로 머리로는 이미 '어쩔 수 없이' 인정하고 있다. 컴퓨터가 고장이 난 것이 아닌 이상, 분명 내 머리든, 내 손끝이든, 내 마음가짐이든, 어디선가 엇나간 무엇이 있을 것임을. 꼭 찍어야 할 점 하나를 찍지 않았든지, 대소문자를 혼돈하여 잘못 쳐 넣었든지 하는 작은 실수는 이제껏 지겨우리만치 많이 겪어봤으니까. 경험이라는 무시 못 할 증거가 진리를 보증하고 있다.

고지식함이 유용함이 되는 세계
  
미워할 수만은 없는 답답함
▲ 답답한 컴퓨터 미워할 수만은 없는 답답함
ⓒ 남희한

관련사진보기

 
컴퓨터는 왜 이리 정확한 것인가. 아니, 왜 이리 고지식한 것인가. 적당히 분위기 봐서 넘어가는 일이 없다. 대충 맞으면 넘어가고 좀 틀려도 맞춰 가면 좋지 않나? 꼭 그렇게 딱딱하게 굴어야 할까? 0과1 밖에 몰라서 그런지 아주 답답할 정도로 분명하다.

하지만 개발자들의 지극히 개인적인 이런 사정을 제외하면, 이 답답함과 분명함은 사람들에게 지대한 기여를 하고 있다. 인간적이지 않은 이 면이 예외를 줄이고 언제나 예상 가능한 결과를 만들어내기에, 사람들은 컴퓨터에게 중요한 일을 믿고 맡긴다.

변변찮은 날개도 없는 거대한 쇳덩이를 우주로 내보내고, 자칫하면 지도가 바뀔 수도 있는 핵분열을 통해 전기를 만들어내며, 실수를 반복하는 인간을 대신해 차를 운전하기도 한다. 그리고 무엇보다, 그 다양한 효용의 장을 마련하는 것으로 내게 오늘도 밥벌이를 제공하고 있다. (아, 답답하지만 또 미워할 수만은 없다.)

많은 사람들이 방대한 데이터의 관리와 빠른 처리 속도, 그리고 이를 24시간 쉬지 않고 수행하는 것을 컴퓨터의 효용으로 꼽는다. 사람을 대신하여 할 일을 정해진 대로 어김없이 해내는 것, 실로 엄청난 효용이다.

컴퓨터는 어떻게 이런 일을 해낼 수 있을까. 컴퓨터가 똑똑해서? 아니다. 놀랍게도(?) 사람이 똑똑해서다. 단순하게 컴퓨터를 만든 것이 사람이기 때문에 하는 이야기가 아니라, 사람들이 심어 놓은 프로그램이란 것이 컴퓨터를 똑똑하게 만들기 때문이다. 지금 에러를 잔뜩 만들고 나서 할 말은 아니지만, 진짜 사람이 똑똑해서 맞다.

코딩, 인간의 이상향을 구현하는 과정

프로그램은 컴퓨터가 해야 할 일의 순서를 짜놓은 것을 말한다. 그리고 일의 순서를 짜임새 있게 만드는 행위를 프로그래밍이라고 한다. 이 프로그래밍을 사람이 한다. 흔히들 코딩이라고 하는 그것이다. 컴퓨터의 똑똑함은 이렇듯 사람의 손끝에서 시작된다. (프로그래밍과 코딩을 다르게 정의하고 있지만, 여기서는 조금 더 친숙한 코딩이라는 표현을 쓰기로 한다.)

코딩은 사람의 생각을 컴퓨터에 전달하는 행위다. 그래서 컴퓨터가 하는 일의 대부분은 사람들의 생각을 정형화해서 실체화한 것이라 볼 수 있다. 대단해 보이는 컴퓨터에 켜켜이 쌓인 경이로움이 사람들의 자유로운 사유와 부단한 노력의 결과물인 이유다.

'여러 가지 일을 동시에 빠르게 해내고 싶다'는 생각이 구체화된 결실이 바로 우리가 매 순간 접하게 되는 윈도우(Windows), 안드로이드(Android), MacOS, iOS 같은 프로그램이다. 음악을 들으며 문자를 보내고 수시로 뜨는 알람을 확인하는 중에도 심박 수와 걸음 수를 기록할 수 있는 것은 단연 경이적이다. 그러니까 코딩은 현실세계에선 이루기 힘든 이상향을 컴퓨터의 세계에 녹여내는 일이기도 하다.

코딩의 세계에선 이상적인 관계에 대한 이상향도 매우 아름답게 정의되어 있다. 부모와 자식 관계, 친구 관계, 공유와 소유 관계 등 현실세계에서는 많은 분란을 일으키는 관계에 대한 기준이 매우 분명하다.

'나의 이런 점은 자식이 좀 닮았으면 싶다'는 소망은 <상속>이라는 개념을 통해 이뤄지고, '부모의 이 부분은 닮고 싶지 않다'는 소망은 <재정의>라는 개념을 통해 이룰 수 있다. 그리고 '놀랍게도' 부모는 자식의 그런 주체적인 변화에 관여하지 않는다.

여러 사람이 공감은 하지만 실천하지 못하는 이상향이 이곳 코딩의 세계에서는 당연한 것이 되고, 그 당연함이 규칙을 통해 보장되는 것으로 프로그램은 '제대로' 동작한다. 그리고 이로써 컴퓨터는 효용을 만들 수 있게 된다.

코딩의 세계에도 부모 자식 관계(상속 관계)가 있고 사적인 역할(Private)과 공적인 역할(Public)이 정해진다. 한 사람이 아빠이자 아들이고 직장인이자 글 쓰는 사람일 수 있듯, 코딩에서도 객체라는 단위의 주체가 다른 목적으로 여러 역할을 하기도 한다(다형성). 인간사가 반영된 참 그럴싸한 세계가 코딩인 거다.

SW개발자의 작은 바람
 
CPU는 컴퓨터의 두뇌, 프로그램(OS)은 두뇌 속 지휘관이랍니다.
▲ 프로그램과 CPU CPU는 컴퓨터의 두뇌, 프로그램(OS)은 두뇌 속 지휘관이랍니다.
ⓒ 남희한

관련사진보기

 
컴퓨터는 눈치 보지 않고 속이지도 않는다. 있는 그대로 당당하고 정직하다. '그냥', '대충', '이번엔', '적당히'라는 것도 없다. 이게 다 이상향이 구현된 프로그램 덕분이다. 그리고 그 이면엔 반드시 지켜지는 코딩 세계의 규칙이 있다. 그래서 가끔 이런 생각이 들곤 한다.

"와... 이 규칙의 10분의 1만 지킬 수 있어도 좋겠다."
"내가 만든 프로그램의 반만 닮아도 좋겠네."


무시당할까 봐 괜히 알은체하다 들통이 날 때나 귀찮아서 대충했던 일이 문제를 일으킬 때, 자식의 일에 사사건건 간섭하는 나를 발견할 때면, 이런 생각은 더 간절해진다. 그런 것들이 잘되지 않아 프로그램을 만들어 컴퓨터에게 맡기는 것이지만, 일종의 창조주(?)로서 내가 만든 프로그램의 발끝도 못 쫓아가는 것에 속상할 때가 많다.

남편으로서, 부모로서, 자식으로서, 직장인으로서, 그리고 지금 글을 적고 있는 글쓴이로서 무엇이 최선인지 '또' 갈피를 잡지 못할 때면, 코딩에서 힌트를 얻곤 한다. 프로그램을 만들기 위한 코딩의 여러 규칙과 과정은 더 나아지고자 했던 사람들의 생각이 쌓여 만들어진 철학의 한 단면이기도 한 덕분이다.

살아가는 데에 잦고 많은 힌트가 필요한 내가 프로그래머가 된 것은 어쩌면 행운이다. 그리고 이제 그 행운과 힌트를 공유하고자 한다. 일상의 여러 역할과 상황 속에서 무엇을 어떻게 해야 할지 종종 까먹는 나와 같은 사람들을 위해, 코딩의 세계에 담긴 '우리의' 이상향을 귀띔해 주고 싶다. 그래서 이렇게 글을 쓴다.

프로그램을 개발하기 위해 코딩을 하며 머릿속에 떠올랐던, 내겐 자못 신선했던 생각을 이렇게 기록해 보려 한다. 재밌게 봐줬으면 좋겠다. 바라건대 프로그램과 코딩에 대한 종이 한 장만큼의 지식과 그로부터 멱살 잡고 끄집어낸 '우리들의' 철학을 엿볼 수 있길 바란다.

덧붙이는 글 | 개인 브런치에도 실립니다.


댓글4
이 기사가 마음에 드시나요? 좋은기사 원고료로 응원하세요
원고료로 응원하기

"나는 글렀지만 넌 또 모르잖아"라는 생각으로 내일의 나에게 글을 남깁니다. 풍족하지 않아도 우아하게 살아가 보려고요.




연도별 콘텐츠 보기