[Opinion] 코딩에 관한 짧은 고찰 [문화 전반]

글 입력 2019.10.15 15:18
댓글 0
  • 카카오 스토리로 보내기
  • 네이버 밴드로 보내기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글 플러스로 보내기
  • 글 스크랩
  • 글 내용 글자 크게
  • 글 내용 글자 작게

 

 

4차 산업혁명의 도래와 함께 코딩 교육이 의무화되고 있다. 코딩 학원들이 많아지고, 제2외국어를 배우듯 코딩을 배우는 사회가 왔다. 의무 교육화된다는 것은 코딩이 전 국민이 갖춰야 할 기본 지식이 된다는 뜻이다.


내가 코딩을 처음으로 접한 것은 대학교에 입학한 후였다. 전과하기 전 기술경영학과 학생이었던 나는 컴퓨터 과학 수업을 필수 과목으로 들어야 했다. 내가 처음으로 들었던 수업은 자바(JAVA) 코딩 기초 수업이었다. 코딩이 뭔지도 모른 채 수업을 들으러 갔던 기억이 난다.

아직 내가 "학문"을 말하는 것이 거창하지만, 나에게는 나름의 공부 철학이 있다. 나는 늘 이 학문이 나에게 어떤 의미로 다가올 수 있는지를 완전히 받아들인 후에야 제대로 공부를 시작하곤 한다.

코딩 수업을 들을 때에도 같은 맥락에서 "코딩"이란 어떤 학문인가를 생각했다. 코딩이 뭘까, 코딩 공부는 내게 어떤 의미로 다가올 수 있을까? 그때 나를 설레게 했던, 코딩의 다양한 가치에 관해 이야기 하려 한다.



그래서 코딩이 뭔데? - 언어로서의 코딩


 
코딩 (Coding): 알고리즘을 컴퓨터가 이해할 수 있는 언어로 바꾸어 컴퓨터에 입력하는 작업. 컴퓨터 프로그래밍의 다른 말.

 
코딩을 처음 접했을 때 가장 먼저 마주한 것은 코딩의 언어적 면모였다. 코딩의 정의에서 볼 수 있듯, 컴퓨터를 실행시키기 위해서는 컴퓨터의 언어인 코드(Code)를 입력해야 하는데, 이를 코딩이라고 한다.

컴퓨터가 어떻게 실행되는지 관심을 가져본 적이 딱히 없었다. 그냥 컴퓨터는 컴퓨터였고, 누가 만들어놨으니 실행되는 거겠거니 했다. 코딩을 배우게 되었을 때는 컴퓨터가 새롭게 보였다. 그저 물건, 도구에서 소통할 수 있는 대상으로 새롭게 인식되었다.

 

bigstock-Programming-Web-Banner-Best-P-258081862.jpg



나에게 언어를 배운다는 것은 새로운 세계를 여행할 준비를 하는 것과 같다. 사람과의 대화 혹은 어떠한 콘텐츠를 통해 새로운 세계를 마주하고 탐구할 수 있다. 언어를 알기 전까지는 미지의 땅이었던 곳을, 언어를 배움으로써 하나씩 알게 되고, 새로운 소통을 하게 된다. 언어를 학습하며 나의 영역을 확장하는 것이다.

코딩을 배우며 나의 영역이 컴퓨터로 확장됨을 느꼈다. 물론 기초만 배운 입장에서는 다양한 것들을 실행시킬 수는 없었지만, 내가 원하는 것을 컴퓨터에게 직접 명령하고 실행되는 것을 보며 희열을 느꼈다. 컴퓨터와 내가 소통을 한다는 생각이 들었다.

컴퓨터와 소통을 하기 위해서는 컴퓨터를 이해해야 한다. 컴퓨터는 모든 것을 일일이 지정해주지 않으면 반응하지 않거나 에러가 난다. 누군가에게 다가가기 위해 상대를 이해하는 과정을 거치는 것과 같다. 컴퓨터를 알고, 그가 이해할 수 있는 언어를 구사하는 것이 컴퓨터과학과 코딩의 기초가 된다.

나는 코딩을 배우며 "컴퓨터"라는 대상과 친해지는 것 같아 신이 났다. 새로운 세계로 발을 들여놓은 것 같았다. 내가 코딩을 배우기 전에는 알지 못했던 영역에 한 걸음 다가가자 괜스레 설렜다. 나에게는 이제 컴퓨터라는 세계를 여행할 티켓이 생긴 것이다.



답은 있는데, 답은 없는 코딩 문제 - 예술로서의 코딩


코딩은 프로그래머가 원하는 답을 컴퓨터가 실행하게끔 그 풀이를 제공하는 것이다. 결국 답은 정해져 있다. 답까지 가는 길을 찾아내느라 컴퓨터과학과 학생들을 매일 도서관에서 밤을 새운다.

코딩 교수님은 늘 말씀하셨다. 답은 정해져 있지 않다고. 물론 어느 정도는 있지만, 풀이가 복잡해질수록 다양한 답이 나올 수 있다. 가장 효율적인 풀이를 찾을 뿐이다. 처음에는 베껴서 내지 말라는 말을 하고 싶으신 게 아닐까 했지만, 여러 풀이들을 접하고 알았다. 정말 답은 없었다. 논술과도 같았다.

 

16240_9455_4715.jpg


 
컴퓨터과학과 친구는 코딩이 자신을 표현하는 하나의 방법이라고 말했다. 프로그래머마다 가지는 각자의 코딩 스타일이 있는데, 코딩 스타일로 자신을 표현할 수 있다고 했다. 사람마다 이용하는 방법이나 풀이가 다르고, 각자의 방법으로 같은 답을 낸다는 것이다.

나는 코딩이 하나의 예술 행위같다고 생각했다. 같은 지향점을 가진 사람들이 각자의 스타일로 답을 창조해내는 과정이 아름답다는 생각이 들었다. 예술가들이 같은 이야기를 각자의 방법으로 소화하고 표현해내듯, 프로그래머들은 각자의 스타일로 코드를 창조해낸다.

 

image_2444546631514512883311.png


 
무에서 유를 창조하는 과정 자체도 예술적이다. 처음 코딩을 하기 위해 프로그램을 켜면, 아무것도 없는 상태에서 시작하게 된다. 프로그래머가 쓰는 것이 시작이고, 그에 따라 결과가 나온다. 도화지에 그림을 그리듯 자신의 알고리즘을 완성해나간다.
 
컴퓨터와 전기만 있으면 프로그래머는 컴퓨터의 세계에서 원하는 무엇이든 창조해낼 수 있다. 게임 프로그래밍이 대표적인 예시이다. 코딩을 통해 세계를 구현해내고, 모든 것들을 컴퓨터 속에서 만들어 낸다. 예술적이면서도 한 편으로는 마법 같기도 하다.

밤을 새워가며 작성한 나의 코드를 보면 뿌듯함과 함께 희열이 몰려온다. 내가 백지에서 시작한 선들이 모여 하나의 작품을 만들어낸 것 같았다. 실행을 시켰을 때 원했던 답이 나오는 것을 보면 짜릿하다. 내가 코드를 통해 표현하고자 하던 것의 실체를 만나는 순간이기 때문이다.

어쩌면 프로그래머는 예술가가 아닐까 하는 생각이 든다. 자판을 두드리며 자신을 표현하는 예술가들 같다. 코딩을 모르는 사람들에게 코드로 울림을 주기는 어렵겠지만, 코드를 그려내는 과정은 마치 예술 행위와 같다.



사색의 흔적, 코드 - 철학으로서의 코딩


타인이 써 놓은 코드를 보면 감탄을 한다. "이렇게 생각할 수도 있구나. 이 사람은 이런 사고를 하는구나." 타인의 코딩 스타일을 알아가는 일은 흥미롭다. 나는 절대 해낼 수 없는 생각을 하는 사람들이 많다.

코드는 본인의 사고에 따라 입력되기에 코딩은 하나의 사색으로 볼 수 있다. 코드는 그 흔적과도 같다. 이 답을 내기 위해 프로그래머가 어떤 사고의 과정을 거쳤는지 그가 입력한 코드를 보고 유추해낼 수 있다.

 

a0077411_548f778c4ed02.jpg


 
어느 날 컴퓨터과학과 재학 중인 친구가 코딩이 다른 학문과 어떻게 다른지를 설명해주었다. 예를 들면 고전 순수과학의 경우, 발견/발명의 과정에서 과학자가 어떤 사고 과정을 거쳤는지 알기 어렵다. 일단 새로운 이론이 도입되면 그가 어떻게 그런 생각을 했는지는 "천재성" 하나로 표현되는 경우가 많다.

친구는 코딩은 다르다고 했다. 역사가 오래된 학문은 아니지만, 모든 연구 과정에 프로그래머가 어떤 논리를 갖고 어떤 사색을 하며 이 학문이 발전해왔는지 이해할 수 있다고 했다. 사고의 발전과 사색의 방향을 전부 알고, 그에 공감할 수 있는 것이 코딩의 매력이라고 했다.

예술로서의 코딩에서 이야기했든, 프로그래머는 자신의 코딩 스타일을 갖고 코드를 짠다. 그 속에는 프로그래머가 가진 사색의 과정이 담겨 있다. 같은 논지를 두고 각자의 생각을 표현하고, 타자와의 비교를 통해 생각을 공유할 수 있다. 또한, 한 사람의 코딩 스타일을 통해 그 사람의 생각 방향을 이해할 수도 있다.

코드를 발자취처럼 따라가다 보면 프로그래머의 사색을 엿볼 수 있다. 답에 도달 하기까지 그의 사고가 닿았던 곳곳이 코드에 묻어난다. 코딩은 이렇게 철학을 담고 있다.


img1.daumcdn.net.png


 
코딩 교육은 다양한 의의를 지닌다. 4차 산업혁명에 따른 생계 문제와 더불어, 논리력과 사고력을 증진시킨다. 따라서 코딩 의무 교육화 외에도 많은 코딩 교육 프로그램들이 생겨나고 있다.

코딩을 공부할 때 한 번쯤 이 학문은 나에게 어떤 의미를 가져다주는지 생각해보면 좋을 것 같다. 나에게 코딩은 언어, 예술, 철학적 의미로 다가왔지만, 다른 사람들에게는 또 다르게 다가올 수 있다. 코딩의 세계는 무궁무진하기 때문이다.

앞으로 코딩은 더욱더 중요해질 것이다. 더 많은 곳에서 쓰이기도 할 것이다. 나는 전과를 하며 코딩 공부를 그만두었지만, 언젠가 내가 다시 코딩 공부를 시작해야 할 날이 올 수도 있다. 그때에는 코딩이 또 다르게 다가올 것도 같다. 그래도 역시 내가 느낀 코딩의 매력은 계속 안고 가고 싶다. 적어도 나에게는, 상당히 매력적인 학문이었기 때문이다.
  


최은희.jpg

 

 



[최은희 에디터]
<저작권자 ⓒ아트인사이트 & www.artinsight.co.kr 무단전재-재배포금지.>
 
 
 
 
 
아트인사이트 (ART insight)
E-Mail : artinsight@naver.com    |    등록번호 : 경기 자 60044
Copyright ⓒ 2013-2019 artinsight.co.kr All Rights Reserved
아트인사이트의 모든 콘텐트(기사)는 저작권법의 보호를 받습니다. 무단 전제·복사·배포 등을 금합니다.