프로그래밍과 코딩

작성자
GoodKook
작성일
2018-06-07 12:03
조회
1286
프로그래밍과 코딩

즐겨듣는 팟캐스트 '과학과 사람들'에서 최근에 '어른의 코딩' 편이 방송 되었습니다. 요즘 초등학생들도 '코딩'을 배워야 한다니 학부모 되시는 분들은 참 고달 푸게 되었다는 생각이 들더군요. '영포자(영어포기자)' 와 '수포자(수학포기자)'가 된 것도 서러운데 이젠 '코포자(코딩포기자)' 범주에 끼게 되었으니까요.

어떻게든 하다하다 않되서 결국 '포기자'라며 자조합니다만 솔직히 애들만 아니면 그거 뭔지 몰라도 바르게 사는데 큰 지장 없는 것 아닙니까? 그렇더라도 누구나 아는 듯이 얘기하고 있으니 '프로그래밍과 코딩'의 차이가 뭔지 알아나 보죠.

'프로그래밍'을 할줄 몰라도 크게 불편하지 않았습니다. 그게 뭐하는 것인지 정도는 아니까요. 그런데 '코딩'이라는 말을 합니다. 그것을 모르면 시대에 뒤쳐진 사람 취급 당할 것 만 같습니다. 용기를 내자는 의미로 한마디 하자면 '프로그래밍'이나 '코딩'이나 같은 말입니다. 소위 IT 업자들의 제품 팔아먹을 협박용 단어라고 단언 하고 싶군요.

그래도 '말'이 다르니 뭔가 다른점이 있을 것 같아 한번 찾아봤습니다.

'프로그램과 코딩의 차이'

일단, 다행 스럽게도 나만 모르는게 아닌가 봅니다. 수많은 설명글들이 검색됩니다. 몇몇 글들을 읽어보니 뭔소리인지 모를말 만 써있군요. 이상한 그림과 더 생경한 '영어'도 등장 하구요. 원래 영어 였으니 영문으로 검색해 봅니다.

'Programming vs Coding'

이 말의 원조인 영어권에서도 매 한가지 입니다. 전 지구적인 'IT 농간'임이 분면 합니다. 그중 그래도 간략하게 써놓은 짧은 글이 명쾌 하길래 링크를 달아 놓습니다.

'Coding vs. Programming — Battle of the Terms!'

영어 울렁증이! 그까짓 코딩이 뭐라고 '영포자'를 두번 죽입니까. 번역기를 돌려보니 대충 내용이 비슷하더군요. (IT 만세! 4차산업 만세!) '프로그래밍'과 '코딩'의 차이는 한마디로 '바보'와 '멍청이'의 의미차이라고 할까요.

'프로그래밍'은 프로그램 하는 겁니다. 컴퓨터에게 시킬 일의 내용을 순서에 맞게 적어주는 행위죠. 어떤 행사의 '순서'를 프로그램이라고 하죠. 행사의 세부 내용을 시간과 함께 나열해 놓은겁니다. 사람이 읽어볼 내용이므로 사람의 언어를 씁니다. 기계가 알아보게 하려면 '컴퓨터 언어'를 써야겠지요. 여러종류의 '컴퓨터 언어'라는 것이 있으니 그런갑다 합니다. 일반인들은 이 언어를 안다해도 어디 써먹을 때도 없습니다.

IBM이나 인텔 그리고 수많은 컴퓨터 업계 회사들이 '컴퓨터 언어'를 기계가 알아먹도록 번역해 주는 제품을 팝니다. 그런데 이 '번역기'라는 제품은 아주 소수의 종사자들에게나 소용이 닿는 겁니다. 컴퓨터 언어 번역기를 가정용 컴퓨터를 보급한다며 엄청 팔아먹었죠. 결국엔 컴퓨터 언어보다는 가정용 게임기로 끝을 보긴 했습니다. 8~90년대 넘쳐났던 컴퓨터 학원에서 이런 쓸데없는 '컴퓨터 언어'를 가르쳤다니, 지금 되집어 보면 역시 컴퓨터 업계에 당했다는 기분 밖에 안듭니다. 그렇게 우리 부모님들이 주머니를 털어먹은 덕에 오늘날의 IT 전성시대가 오긴 했습니다. 그나저나 많던 컴퓨터 학원은 어디로 갔을까? 이와 함께 '프로그래밍' 이라는 단어도 구시대의 유물이 되었죠.

게임기로 그리고 동영상 재생기로 재미를 볼 때까지 본 컴퓨터 업계는 새로운 돌파구를 찾기로 합니다. 이제 막 태어난 세대들에게 '프로그밍'을 가르치기로 합니다. 한세대 걸러 부모들의 주머니를 털기로 한거죠. 이미 한번 당했던 기억이 살아있는 '프로그래밍' 이라는 단어로는 먹히지 않을게 뻔 합니다. 그리고 '프로그래밍'의 영업 실패 원인을 분석해 보니 '문자'를 쓰라고 해서 어렵기도 하고 지루하기도 했기에 사람들의 시선을 지속적으로 붙잡지 못했던 겁니다. 새롭게 전략을 짰죠. '프로그램'을 문자 이외에 '그림'으로도 짤 수 있게 합니다. 그리고 말도 살짝 바꿉니다. '코딩' 이라고. '그림'은 직관성도 좋아서 문자를 제대로 익히지 못한 어린아이들에게도 '영업' 할 수 있게 되었습니다. '프로그래밍'을 포기했던 부모세대에게도 신기하기만 합니다. 그림으로 플로우 차트를 그렸더니 소프트웨어가 만들어 진다니 이 어찌 감격이 아니겠습니까! 이제 아이들이 컴퓨터 앞에 앉아 게임만 한다며 타박하던 부모들의 눈을 컴퓨터 신동으로 바라보게 만들어 놓은 단어가 바로 '코딩' 입니다. '프로그래밍'이 되었던 '코딩'이 되었던 목적은 불분명 한 채 '신기함'으로 포장 되어 있습니다. 물론, '코딩'을 배운 아이가 자라면서 더 많은 기회를 잡을 확율이 높죠. 영어나 수학은 않그럽답니까 만은.

요약하자면, '프로그래밍'은 '작문', '코딩'은 '저작'의 차이라고 보면 될 겁니다. 어쨌든 소프트웨어를 만들 수 있는 능력을 가진 사람이 늘어날 수록 다양한 소프트웨어가 만들어질 것이며 그덕에 소프트웨어 사용자인 일반인들의 생활이 편리해 질 수도 있을지도 모릅니다. '코딩'을 배우면서 무슨 내용을 채울 건데? 라는 질문을 해봐야 합니다. 글을 쓸 줄안다고 '작가'일 필요도 없고 '독자'와 '작가'는 분명 다르니까요. 주머니를 털렸든 몸을 갈아넣었든 '프로그래밍'세대가 지금의 IT 산업을 일군 바탕이 되었다고 합니다. '프로그래밍' 세대는 적어도 '영어' '수학'을 어찌 해보려고 시도는 했는데 짐이 하나더 늘어난 '코딩'세대가 만들어낼 미래는 어찌될지 기대보다는 걱정이 됩니다.
전체 1

  • 2018-06-07 16:57

    저는 현업 개발자입니다 ^^; 주로 웹 서비스를 개발하고 있지요.. 프로그래밍과 코딩의 차이는 사실 같으면서도 조금은 다른 의미로 사용되는거 같습니다. 흔히 우리말로 '프로그램을 개발한다' 라는 행위를 프로그래밍이라고 합니다. 개발자(developer)라 하기도 하고 프로그래머(programmer)라고도 하지요. 현업에서 '코더' 는 코딩을 하는 사람을 지칭하며 자주적인 로직에 의해 코딩하는게 아닌 그저 짜여진 알고리즘대로 코딩을 하는 사람을 일컫기도 합니다.

    지금의 코딩교육 열풍은 현업 개발자인 저도 회의적입니다. 저 역시 어릴적 컴퓨터학원에서 배운 베이직을 시작으로 이 자리까지 앉아 있긴 하지만 그저 영국 어디가 초등학교적부터 코딩을 배운다 뭐다 하면서 따라가기식으로 하는 것 밖에는 되지 않아보입니다. 자세히 살펴보진 않았으나, 영국을 비롯한 영미권 국가들이 코딩을 가르치는것은 현대의 개발 언어들이 대부분 영어에 기반을 하고 있어 그들의 논리들을 그대로 가져다가 교육시키기에 큰 무리가 없기 때문이라고 봅니다.

    예를 들면 파이썬의 반복문인 for를 보면 for i in ['a','b','c'] 로 표현합니다. 영어를 모국어로 쓰는 입장에선 'i가 ['a','b','c']란 리스트의 원소 각각에 매칭되는 동안 다음을 수행해라' 라고 이해가 가능합니다. 비영어권에서는 컴퓨터 언어를 일상 언어 다루듯 쉬이 다룰수가 없다는점이 그들과의 차이점이죠.

    뒤돌아 보면 어린시절 기본 지식도 없는 상황에서 프로그래밍을 통해 수학의 다양한 개념들을 다뤘습니다만.. 그게 수학의 개념을 컴퓨터적인 사고에 접목을 시킨게 아닌 그저 알고리즘대로 외우고 문제풀이를 했던 기억밖에는 남지 않는거 같습니다. 저는 이 시대의 코딩교육도 이것과 다를게 크게 없다고 보여집니다. 사실 지금의 코딩 교육은 다 커서 고등학교 혹은 대학교에서 배워도 늦지 않다고 봅니다. 중요한건 사고력이고 생각이지 그걸 구현하는 코딩이 아니거든요.

    짐이 하나 더 늘어난 세대라는 말이 참 와닿는거 같습니다.