[Opinion] 멀고도 가까운 코딩 맛보기 - 익스플레인: 코딩의세계 [문화 전반]

익스플레인:세계를해설하다. 코딩의세계
글 입력 2019.12.31 21:42
댓글 0
  • 카카오 스토리로 보내기
  • 네이버 밴드로 보내기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글 플러스로 보내기
  • 글 스크랩
  • 글 내용 글자 크게
  • 글 내용 글자 작게



우스갯소리로 친구들끼리 말하곤 했다. 어머니 아버지가 어플 하나에 쩔쩔 매는 것처럼, 우리도 조금만 지나면 코딩에 쩔쩔 매지 않겠냐고 말이다. 그렇게 걱정 아닌 걱정 하면서도 코딩에 대해 진지하게 생각해보지 않았다. 세계 각국은 물론, 우리나라도 올해부터 초등학교 코딩 의무화가 실시됐다는 말에도 남 이야기 마냥 감흥 없었다.


물론 오래가지 못했다. 눈앞에서 직접 코딩하는 초등학생을 마주하니, 그저 우스갯소리로도 여기지 못하게 됐다. 초등학교 4학년 아이는 학습용 코딩을 아무렇지도 않게 하고 있었다. 코딩을 능숙하게 한다는 것에 대단하다고 칭찬했더니, "쌤, 이건 요즘 아무나 다 해요. 누가 못해요." 대수롭지 않게 대꾸했다.

 


엔트리봇.jpg



그때 생각났다. 나도 별반 다를 게 없겠구나, 나중에 코딩에 쩔쩔맬 수도 있겠구나. 내가 스마트폰을 가르쳐주는 입장에서는 상대방의 뻘쭘함과 위축됨을 알아차리지 못했다. 지금에서야 겪어보니 겨우 알 수 있었다. 급변하는 세대에서 점점 따라가지 못할까 괜스레 위기감과 불안도 뒤따랐다. 부모님들은 일찌감치 이렇게 느꼈을까? 그것도 모르고 귀찮아했던 게 정말 죄송했다.


단순 코딩에만 국한할 수 없었다. 세상은 점점 더 짧은 주기로 더 광범위하게 변하고 있다. 부모님들은 서른 살 정도 어린 우리에게 어플을 물었지만 난 불과 10살 정도 어린애들에게 코딩을 물을 수도 있다. 더 무서운 사실은 내가 코딩을 물어볼, 10살 어린아이들이 자랄 동안 또 세상은 변하고 배우고 그럴 때 우리는 점차 배워야 할 게 무지막지하게 늘 수도 있다는 것이다. 나이를 먹을수록 배워야 할 건 복리처럼 늘어나고 불어나고 쏟아지고. 인터넷뱅킹, 무인텔, 무인 편의점, 코인 세탁소, 키오스크. 내 불안은 더 불어났다.



ki_01.jpg



신기한 일이다. 무서워했고 피했던 코딩을 어이없게 마주쳐버렸다. 취업 준비의 일환으로 준비한 컴활에서 말이다. 우연히 만난 코딩에 맥빠졌다. 정해진 대로 코드를 입력하고 값을 넣고 명령하고 그게 끝이었다. 틀리거나 틀리지 않거나, 그뿐이었다. 김빠졌다. 생각보다 무섭거나 두렵지 않았다. 강의에서 배우는 대로 따라갔을 뿐이다. 그때 생각했다. 코딩은, 우리가 여태껏 알고 배웠고 해왔던 것의 시작과 다르지 않았다.


스마트폰이나 인터넷이나, 지금 글 쓰는 것도 처음에 당연히 몰랐다. 거창한 이유 없이, 배우고 싶어서 혹은 다른 이유로 알게 됐다. 코딩도 같다고 생각했다. 내가 착각했었다. 세상 사람들 각자에게 어려웠던 건 얼마든지 있고 잘 해결해왔던 못했던, 코딩도 그렇다. 다른 사람에게는 사소했던 길 찾기와 대화도 내게는 무척 어려웠다. 그러나 지금은 그냥 하는 것처럼 코딩도 같다고 생각한다. 그걸 보고 세대의 경계니 재사회 화니 온갖 의미 부여를 해왔던 게 조금 부끄럽다. 모르면 배우면 된다는, 당연한 논리를 잠깐 잊고 있었다.


편견과 의미 부여를 깨고, 코딩과 거리를 좁히며 수줍게 다가가던 중 조금 코딩이 친숙해진 계기가 있다. 넷플릭스에서 코딩 다큐를 발견했다. 분명 그전에는 봤지만 흥미가 없어 지나쳤던 다큐다. 조금 배웠다고 뒤늦게 관심이 생겼다. 코딩에 대한 전반적인 이해를 도와주는 다큐였다. 애초에 시청자들을 '코딩'을 두려워하고 배경지식이 없는 대상으로 산정한 것인지, 흥미 위주로 재밌게 설명한다. 바로 익스플레인:세계를 해설하다, "코딩의 세계" 편이다.


 

 

코딩이 뭔데요?


 

call-center-1027344_960_720.jpg



2014년 4월 9일 , 911서비스가 갑자기 6시간 동안 중단됐다. 콜로라도 엥글 우드에 있는 통화 연결 설비 컴퓨터 탓이다. 단순 코딩 실수. 코더들이, 기록 가능한 전화 수 상한선을 정해줘서다. 컴퓨터는 지시를 완벽하게 따랐다. 한계에 다다르자 전화연결을 중지했다. 문제는 컴퓨터가 아니었다. 코드에 버그가 있는 것도 아니었다. 문제는 코딩이었다. "인간이 컴퓨터와 소통하는 의사 결정 처리 과정" 말이다.


다큐는 흥미로운 사건을 소재로 시작한다. 미국 전역에서 갑자기 911서비스가 중단됐다. 무려 6시간 내내 연결할 수 없었다. 그러나 대참사에도 불구하고 원인은 사소한 실수였다. 실수는 코딩에서 비롯됐다. 다큐는 사건으로 흥미를 유발해놓고 '코딩'으로 바로 주제가 이어졌다.


 

20607150556_c01d092437_b.jpg

 


인터넷에 접속할 때나 긴급 전화를 걸 때나 진료를 받으러 갈 때 차에 탈 때. 우리 일상은 코드와 밀접합니다. 하지만 우리 중 300분의 1만이 코드 쓰는 법을 알죠. 대다수 사람들은 까막눈이지만 아예 모르리라는 법도 없습니다. 그렇다면 코딩은 어떻게 작동할까요? 우리는 코딩으로 어떤 신세계를 건설하고 있을까요?


누가 코딩이라고 말하면 진짜진짜진짜 어렵게 느껴져요


반드시 기억해야 해요. 당신이 사용하는 그 모든 컴퓨터 프로그램은 누군가 만들었던 것이란걸요.


외계인이 와서 코드에 대해 묻는다면 나는 이렇게 대답할 것이다. '글쎄요, 인간들은 물리적으로 지구에 살지만, 약 50년 전에 소수가 또 다른 행성을 만들기 시작했어. 근데 물리적이지는 않고 가상 속의 행성이야. 길거리를 걷다 보면 사람들이 전화기를 쥐고 그것에만 몰두하고 있는 게 보이지? 그 사람들은 다른 행성에 있는 거야 그게 바로 코드지. 또 다른 세상을 만드는 구성 요소랄까?'


필자가 다큐를 보면서 다큐 제작진도 코딩에 대한 인식이 어떤지 잘 알고 있다고 느꼈다. 거리감이 상당한 코딩을, 유명한 사건으로 관심 갖게 하고 우리가 접하는 일상으로 끌어온다. 게다가 직접 일반인의 인식을 따옴으로써 친밀감과 현실감을 더했다. 그 이후에는 외계인에게 설명해주는 듯 적절한 비유가 이어졌다.


코딩에 대해 배경지식이 없는 나 같은 사람들에게 초점이 맞춰진 듯하다. 하나하나 알려주는 듯한 세세한 설명이다. 그러나 더 이상 괄시할 수 없다는, 해서는 안 된다는 중요성 또한 내포하고 있다. 코딩은 더 이상 우리 삶에서 무시할 수 없는 존재며, 우리 일상 전체를 지배하고 있다는 존재감을 영상 내내 풍기고 있다. 중요성과 흥미, 두 요소로 사람들을 사로잡는다.




코딩, 컴퓨터, 알고리즘, 프로그래밍 언어


 

Safety-SOS-full-380-285.jpg


모스 부호를 생각해보세요. 모스 부호에서 각 문자는 두 가지 신호로만 표현됩니다. 'ㅡ or ·' 이거 아니면 이거죠. '바이너리(2진수)'입니다. 삐 소리를 통해 어떤 말이든 할 수 있습니다. 1912년 타이타닉호가 보낸 이 조난 신호-빙산과 충돌했다. 침몰 중이다.-처럼 말이죠. … 모스 부호의 점과 선이 그저 기록 방식인 것처럼 바이너리 코드의 1과 0도 현대 컴퓨터의 작동을 기록하는 방식일 뿐입니다. 연결 혹은 분리죠. 이것은 단순한 전기 회로입니다. 수백만 개의 회로가 함께 작동한다고 상상해보세요. 그게 오늘날의 컴퓨터입니다.


오늘날 대중문화에서 알고리즘이라는 단어는 많은 혼란을 부릅니다. 그러나 알고리즘은 단지 방향의 집합일 뿐입니다. 가게로 걸어간다고 생각해요. 왼쪽으로 갔다가 오른쪽으로 돌 수 있죠. 아니면 오른쪽으로 갔다가 왼쪽으로 돌 수 있죠. 아니면 바로 돌아서 공원을 한 바퀴 돌고 도로를 건너는 등 네 번 우회전할 수 있죠. 한 장소에 도달하는 방법이 다양한 것처럼 코딩에서도 같은 문제를 해결하기 위한 여러 알고리즘이 있을 수 있습니다. 목표는 가장 우아하고 효율적인 길을 찾는 거죠.


 

aprender-a-programar-mitos-ideas-erroneas-elegir-mejor-lenguaje.jpg


 

하지만 1940년대에는 알고리즘으로 충분하지 않을 정도로 할 일이 많았죠. 0과 1로 프로그램을 쓰면 확장이 힘들어요. 사람들은 코딩이 주는 더 큰 힘을 원했지만 방법은 더 쉬워지기를 바랐습니다. 코딩은 코드와 인간 언어를 더욱 가깝게 만드는 방향으로 진화했습니다. 오늘날 코더들이 실제로 쓰는 언어가 발명됐죠. '프로그래밍 언어'입니다. 1과 0에 비해 이 언어들은 매우 추상적입니다. 추상적이라는 말은 사람들이 더 이해하기 어렵다는 말입니다. 더욱 추상적이긴 하지만 똑같은 1과 0으로 구성됩니다. 더 효율적인 조직법을 발견했을 뿐이죠. 생물학적으로 생각해보죠.


인간은 놀랍도록 복잡하지만 우리 몸의 99%는 오직 6개의 요소로 구성됩니다. 거기서 더 큰 분자로 커지는 겁니다. 그 조직의 층과 가장 단순한 생물 사이에는 약간의 발전만 있을 뿐이에요. 인간의 뇌는 너무나도 발전한 터라 본질이 같다는 걸 믿기가 힘들 정도죠. 컴퓨터는 실제로 훨씬 더 간단합니다. 좋은 소식이죠. 코딩은 이 상자를 위로 올려 바이너리에서 벗어나 인간에게 더욱 쉽고 빠르며 강력한 방식을 제공하는 일입니다. 직접 코드를 다루거나 이해할 필요 없이 바이너리나 논리 게이트는 저 아래에 감춘 채로 말이죠. 코더는 그렇게 우리에게 친숙한 상품을 만듭니다.




코딩은 어디에나 있다.


 

netflix-4011807_960_720.jpg



오늘날 코더들은 수십억의 삶을 조각하고 있죠. 일과 쇼핑, 식사, 연애와 여유로운 밤까지도요. 지금 넷플릭스를 보고 계시죠? 넷플릭스 자체도 웹 브라우저 기반의 코드입니다. 코드를 사용하도록 설계된 컴퓨터에서 돌아가는 코드죠. 코드는 어디에서나 있어요. 훌륭한 코드는 박물관의 건축가 같아요. 수백만의 사람들이 생각하고 매일같이 돌아다니며 사용하죠. 코드처럼 순수한 창작물은 없다는 생각이 들어요. 어떻게 돼야 한다는 구상만 가지고 컴퓨터 앞에 앉아 실제로 구현하는 거죠.


무지막지한 조합이 가능합니다. 프로그래머들이 그걸 다 만들죠. 그리고 필연적으로 예상치 못했던 상황들의 조합이 일어나기도 해요. 프로그래밍 기술을 알려줄 때 정말로 가르치려고 하는 것은 이 모든 다른 조건들을 고려하는 방식이에요. 정신 줄을 놓지 않고 고려해야 할 사항의 수를 철저하게 짚어가는 법말이죠. 그러한 능력은 앞으로 더욱더 필요해질 겁니다. 코딩의 방식이 완전히 새로워졌으니까요. 코딩은 컴퓨터에 지침을 내립니다. 하지만 이제는 컴퓨터에 입력과 출력을 제시하고 컴퓨터가 알아서 지침을 쓰게 할 수 있죠.

 


7f2ad19283cc7.jpg



우리가 하는 일은 컴퓨터에 많은 예시를 제공하는 거예요. '이건 파티야'하고 수많은 예시를 주고 또 다른 걸 보여주는 거예요.- 치과, 파티 아님. 교실, 파티 아님. - 그럼 컴퓨터가 이걸 보고 나름의 분류 체계를 만듭니다. 이것은 기계학습입니다. 요즘 말하는 인공지능이 바로 이거죠. 지금과는 전혀 다른 추상적 처리 방식입니다. 지금껏 해온 방식과는 완전히 달라요. 우리는 이를 기계 학습 알고리즘이라고 합니다. 따라야 할 방향의 집합을 컴퓨터가 스스로 만들기 때문이죠. 하지만 결국에는 그것들도 매우 세밀한 지시 사항으로 번역됩니다.


앞서 제시한 파티 사진에 실수로 흑인이나 히스패닉이 포함되지 않았다고 가정해봅시다. 그럼 컴퓨터는 백인과 아시아인만 초대된 행사를 파티로 볼 수 있죠. 프로그래머 중에는 백인과 아시아인들이 많아요. 더욱 다양한 사람들이 프로그램을 짜야 하는 이유가 백만 가지는 되죠. 더 많은 인생 경험이 있다면 더 좋은 질문을 던질 테니까요. 하지만 결국 기계 학습 시스템 정보에 구조적 인종 차별이 내재된 형사 사법 체계 등을 제공하거나 기계 학습 프로그래머들이 다양한 인종과 얼굴, 사회적 배경을 가졌다면 기계 학습 시스템은 그런 데이터를 습득하게 될 거예요. 사람들이 적극적으로 이를 교정하지 않는다면 역사적 자료는 과거의 실수를 반복하도록 이끌 겁니다.



02191156b03a94e389d60a8dd18e2863.jpg



코딩은 인간의 야심과 창의성을 의미합니다. 인공위성을 쏘고, 블랙홀을 발견하고, '신세계를 창조했죠.' 직관적인 도구는 점점 더 많아져 점차 많은 사람이 사용할 수 있게 됐습니다. 세상을 더 나은 곳으로 나아갈 수 있도록 돕죠. 지금껏 걸어온 여정을 통해 인간은 컴퓨터에 더욱 손쉽게 접근할 수 있게 됐고 좀 더 많은 이들에게 문이 열렸습니다. 반드시 기억해야 해요. 당신이 사용하는 그 모든 컴퓨터 프로그램은 누군가 만들었다는 사실을요. 당신도 그런 사람이 될 수 있어요. 누구나 될 수 있다는 사실이 정말 중요하죠.


기계 학습과 정보 전통적인 코딩 등 점점 더 많은 방식으로 세상이 운용될 겁니다. 우리가 사회로서 지녀야 할 태도는 새로 생긴 강력한 기술이라도 인간이 훌륭한 방식으로 이용하지 않는다면 그것 자체로는 훌륭하지 않다는 자세죠.

 

*


다큐는 영상 내내 코딩을 코드를 짜는 행위 너머를 보여준다. 세계를 해설한다는 제목처럼, 코딩이 세상에서 어떤 위치고 인식되는지 궁극적으로 코딩을 어떻게 바라봐야 하는지 로드맵을 제시한다. 우리가 살고 있는 세상을 바탕으로 코딩을 해설한다. 결국 코딩은 '세상을 살아가는 인간'에 맞닿아있기 있기 때문이다.


코딩의 중요성은 다큐 내내에서도 줄기차게 강조하지만 다시 한번 강조하고 싶다. 상기했듯, 우리는 앞으로도 배워야 할 게 많으며 점점 기하급수적으로 늘어날 것이다. 미래에 만들어질 문물에 대해 유연하게 반응하도록 지금 알아가는 코딩을 디딤돌로 만들면 어떨까? 사실 나한테 하는 이야기다. 나같이 소심하면서도 자주 불안해하는 사람들에게 일단, 다큐를 추천해본다.



참고

익스플레인:세계를 해설하다. - 코딩의 세계 편

올해부터 초등 코딩교육 의무화...교육업계 분주,『zdnetkorea』, 2019.01.02.



[오세준 에디터]



<저작권자 ⓒ아트인사이트 & www.artinsight.co.kr 무단전재-재배포금지.>
 
 
 
 
 
등록번호/등록일: 경기, 아52475 / 2020.02.10   |   창간일: 2013.11.20   |   E-Mail: artinsight@naver.com
발행인/편집인/청소년보호책임자: 박형주   |   최종편집: 2024.04.19
발행소 정보: 경기도 부천시 중동로 327 238동 / Tel: 0507-1304-8223
Copyright ⓒ 2013-2024 artinsight.co.kr All Rights Reserved
아트인사이트의 모든 콘텐츠(기사)는 저작권법의 보호를 받습니다. 무단 전제·복사·배포 등을 금합니다.