페이지상단으로이동

코딩, 프로그래밍의 패러다임을 바꾸다

    • 김세원 기자
    • |
    • 입력 2019-06-03 11:17
    • |
    • 수정 2019-06-03 11:14
[pixabay 제공.]


대중은 흔히 '코딩(Coding)'이라는 단어와 프로그래밍(Programing)이란 단어를 혼동한다. 애당초 두 어휘를 숱한 IT 전문지에서 번갈아 쓰며 유사한 뜻을 지칭하는 경우도 많다. 오늘날 대중이 코딩과 프로그래밍의 쓰임에 대해 느끼는 혼란은, 바로 이러한 행태 속에서 태동했다.

가령 다음과 같은 글이 있다고 가정해 보자.



공식적인 첫 번째 컴퓨터 프로그래밍 언어는 Konrad Zuse가 1943년도에서 1945년도 사이에 개발한 Plan Calculus이다. 당시만 해도 Plan Calculus과 같은 컴퓨터 프로그래밍 언어는 매우 혁신적인 발명품이었다. Plan Calculus은 컴퓨터로 처음 개발된 나름 첫 번째 프로그래밍 고급 언어고, 애당초 그 명칭 자체가 '공식적인 시스템'을 의미하는 단어였기에, Plan Calculus의 탄생 이래로 시작된 코딩의 역사는, 그런 의미에서, 컴퓨터 소프트웨어의 알고리즘을 공식적으로 시스템화하기 위한 연속적인 언어 작업의 순서라고 봐도 좋을 것이다.



이 글에서도 얼핏 보면 코딩과 프로그래밍이라는 단어가 혼재된 것처럼 보인다. 흡사 두 용어가 비슷한 뜻으로 사용되고 있다고도 느껴진다. 그러나 엄밀히 말해서, 코딩과 프로그래밍은 완벽하게 똑같은 의미를 함의하고 있지는 않다. 전문가들 역시, "실상 이 두 단어에는 미묘한 차이가 있다"라고 정의한다.

그렇다면 코딩과 프로그래밍의 차이점이란 대체 무엇일까? 도대체 무엇이 코딩과 프로그래밍, 언뜻 비슷해 보이는 이 두 어휘에 결정적인 차이를 부여하고 있는 것일까? 지금부터 간단히 정리해 보자.

[pixabay 제공.]


커리큘럼 개발자이자, Code.org의 관리자인 키키 프로츠만은 저명한 테크 전문지 허프포스트(HUFFPOST)에 기고한 글에서 코딩과 프로그래밍의 차이가 생기게 된 결정적인 이야기를 다음과 같이 후술했다.



얼간이와 멍청이만큼, 코딩과 프로그래밍이라는 두 개의 단어는 얼핏 외견상으로는 비슷해 보입니다. 그러나 이 둘의 정체성(identify)을 보면 거리감이 존재합니다. 실상 이 두 단어의 차이점이 아주 없지는 않거든요. 그리고 사용자에게 주는 이점 역시 둘 다 미묘하게 다르지요.

프로그래밍이라는 단어는 오랫동안 기계를 작동시키기 위한 명령어를 입력하는 의미로 흔하게 활용되어 왔습니다. 요컨대 여기서 프로그래밍이란 Code(=명령어)를 입력하기 위한 공식적인 몸짓인 셈이죠.

퍼스널 컴퓨터를 집에서 쓰는 인구가 증가함에 따라, 컴퓨터 프로그래머 중에서도 '나 홀로 독학족'이 생겨나기 시작했습니다. 이건 상당히 중요한 문제인데, 이로써 서브컬쳐 분야에서 해커(hacker)라는 존재가 태동하게 되었기 때문이죠.

좀 더 엄밀히 말해서, 코딩을 하는 사람들, 즉 코더(coders), 내지는 코딩러란 이렇듯 일종의 스스로학습이 낳은 산물들입니다. 이런 점에서 프로그래머라는 전통적인 존재와는 완전히 다른 결을 가지게 됩니다.

이들이 지닌 기술은 프로그래머와는 다릅니다. Code(=명령어)를 창조하는 건데, 아예 다른 룰을 부여하고 번외의 로직을 개발하죠. 따라서 정확하게 정의하자면, 코딩(Coding)은 역사적으로 프로그래밍(Programing)의 반의어라고 해도 좋습니다.




이 내용을 좀 더 쉽게 풀자면, 코딩은 프로그래밍의 하위 호환에 해당하는 스킬이라고 볼 수 있다. 요컨대 진짜 프로그래머가 되는 일보다 코딩러가 되는 것은 훨씬 쉽고, 그렇기에 프로그래머가 되기 위해선 Code를 만드는 일 그 이상을 해내야 한다.

세계적인 컴퓨터 언어 전문 교육 캠프인 줄리안 크린스키 캠프 역시 코딩러와 프로그래머의 차이를 설명하며 프로그래밍이 코딩보다 좀 더 상위 수준의 개념을 포함하는, 매우 복잡한 작업이라는 사실에 동의한다. 이들은 이와 관련, 코딩이 컴퓨터 명령어를 단순히 만들고 로직을 짜는 일이라면, 프로그래밍은 이러한 작업을 하면서 동시에 컴퓨터 프로그램에 생긴 문제, 속칭 '버그(bug)'라고 부르는 오류를 어떻게 해결할지도 고민해야 하기에 더 어렵다고 말한다.

물론 이런 부분에서 역설적이게도, 마냥 코딩이 프로그래밍의 하위 호환에 해당하는 개념이냐는 질문에 대해서는 아직도 의구심이 남는 것도 현실이다. 솔직히 '닭이 먼저냐, 달걀이 먼저냐'라는 물음과도 비슷하고 '패러다임이 먼저냐 패러독스가 먼저냐'하는 명제와도 유사한 것으로, 과연 판도 자체를 완전히 바꾸고 창조하는 일이 흐름을 보수하고 유지하는 일보다 쉬운 일이겠느냐는 근본적인 문제 때문이다.

그러나 단 하나, 이 명제에 대해서는 이견이 없다.

대상이 코딩러이건 프로그래머이건 간에, 결국 코딩이란 존재가 마냥 복잡하고 난해한 영역으로만 여겨졌던 컴퓨터 언어를 좀 더 일상에 가깝게 만들었으며, 이를 통해 영어를 모르는 사람도 이제 코딩을 통해 소통하는 시대가 곧 도래할 것이라는 점이다.

요는, 코딩은 결국 시대가 만든 프로그래밍의 패러다임을 바꾼, 혁신인 셈이다.

김세원 기자 | [email protected]

댓글 [0]
댓글 서비스는 로그인 이후 사용가능합니다.
댓글등록
취소
  • 최신순
닫기