요즘은 코딩(Coding)에 대한 관심이 정말 많습니다. 누구나 스마트폰을 가지고 있고, 광범위하게 사용을 하게 되다보니 자연스레 그것을 만드는 것에 관심이 쏠려 코딩에 대한 수요가 높아지는 것도 한 몫을 하고 있습니다. 여러가지 코딩에 대한 정의가 난무하는 가운데 한번 쉽게 풀어보려고 합니다.

 



코딩이란 컴퓨터 언어를 입력하는 작업

 

 


컴퓨터라는 물건 자체가 현실 세계를 모방한 것이기 때문에 현실세계의 예를 들어 설명을 해보겠습니다. 우리가 다른 나라로 여행을 간다고 가정을 해보세요. 미국을 여행한다고 하면 영어를 해야 하고, 중국을 여행한다고 하면 중국말로 소통을 해야 합니다. 미국을 여행가서 중국언어를 사용한다면 의사소통이 될리가 없겠죠. 그 반대도 마찬가지입니다.

 



컴퓨터를 하나의 세계라고 생각을 합니다. 우리가 컴퓨터라는 세계를 여행하기 위해서는 그에 맞는 언어를 사용해야 합니다. 쉽게 생각해서 컴퓨터 세상에서 쓰이는 말이라고 생각을 하면 되는데, 그게 바로 컴퓨터 언어 입니다. 그 세계안에서 한국말을 사용하거나 영어로 말한다고 알아듣지 못합니다. 그래서 컴퓨터와 대화를 하기 위해서는 컴퓨터 언어를 통해 주고 받을 수 있습니다. 

당연히 컴퓨터랑 직접 육성으로 대화를 할 수가 없습니다. 언어를 잘 적어서 컴퓨터 안에 넣어줘야 하는데, 이렇게 컴퓨터 언어로 적어주는 행위가 바로 코딩 (Coding) 이라고 정의할 수가 있습니다.

네이버 지식백과에서 코딩을 정의를 찾은 내용입니다.

프로그래밍과 같은 뜻으로 널리 사용된다. 하지만 좀더 구체적으로 살펴보면, 코딩은 명령을 컴퓨터가 이해할 수 있는 C언어, 자바, 파이선 등의 프로그래밍 언어로 입력하는 과정을 뜻하고 프로그래밍은 프로그래밍 언어를 사용해 프로그램을 만드는 일을 뜻한다.
[네이버 지식백과] 코딩 [coding] (한경 경제용어사전)

알고리즘을 컴퓨터가 이해할 수 있는 언어로 바꾸어 컴퓨터에 입력하는 작업. 
(천재학습백과 초등 소프트웨어 용어사전)

컴퓨터가 이해할 수 있는 언어인 코드를 입력해 기계들이 작동할 수 있게 하는 과정을 코딩이라고 해요.
(6학년 2학기: 전기의 이용)



다양한 정의가 있네요. 내용을 살펴보면 뜻은 비슷비슷한 것을 볼 수가 있습니다. 결론적으로는 컴퓨터 언어를 컴퓨터에 입력하는 작업이라고 할 수가 있습니다. 이렇게 입력한 코딩의 결과물이 프로그램입니다. 프로그램이라는 말보다는 앱이라고 하는 편이 더 이해하기가 쉽겠네요. 스마트폰에 있는 여러가지 앱들이 바로 이런 코딩의 결과로 나온 것입니다. 아이들이 쉽게 이해할 수 있게 설명을 하려면 "앱을 만드는 일" 이라고 해도 코딩의 정의중에 하나가 될 것 같네요.

컴퓨터 언어의 종류와 교육용 언어

현실세계에서도 다양한 나라의 언어가 있듯이 컴퓨터에도 수많은 언어가 존재합니다. 계속해서 생겨나고 없어지고 하기 때문에 정확한 수를 헤아리기도 힘듭니다. 각각의 언어들은 저마다의 목적을 가지고 생겨나기 때문에 어떤 것이 좋다 나쁘다 우열을 가리기도 힘듭니다. 수학적인 계산에 특화된 프로그램도 있고, 그래픽이나 게임을 만들기에 특화된 언어들도 있습니다. 그래서 다양한 언어들이 존재하게 되는 이유입니다.

 



파이썬, C, PHP, 자바 같은 언어들이 가장 인기가 좋고 많이 하는 언어라고 볼 수 있습니다. 이외에도 수많은 언어가 있지만, 여기서는 다 열거하기가 힘들고 특징을 알아보는 것은 별다른 의미가 없습니다. 

 



이런 언어들로 코딩을 하는 것을 보면, 무슨 암호화된 기호로 컴퓨터에 입력을 하게 됩니다. 이런 언어들의 규칙을 이해하고 있는 사람들은 해당 기호가 무엇인지, 무슨 의미인지 알 수가 있지만, 일반 사람들은 그런 내용을 이해하기가 아주 힘듭니다. 더군다다 초등학생들은 영어로 된 글자에 내용도 모르니 진입장벽이 아주 높다고 할 수가 있습니다. 일일이 키보드로 타이핑해서 입력하는 것도 쉬운일이 아닙니다.

코딩 교육이 중요하지만, 이런 진입 장벽 때문에 쉽게 접근하지 못하는 문제가 있습니다. 그래서 이런 문제점을 해결하고자, 코딩 교육의 장점은 가져가고 쉬운 입력이 가능하게 하도록 나온 언어가 바로 엔트리(Entry), 스크래치(Scratch) 같은 교육용 컴퓨터 언어들입니다.

 



이런 언어들은 일일이 타이핑을 해서 입력을 하는 것이 아니라, 마우스를 이용해서 입력을 하게 됩니다. 입력이라기 보다도 마우스로 끌어서 블럭을 조립하듯이 코딩을 하게 됩니다. 이 과정에서 논리적인 사고와 처리 방법을 배우게 되는 것입니다. 이렇게 놀이를 하듯이 입력을 하니, 코딩에 대한 부담이 적고 생각을 할 수 있는 사고의 폭은 넓힐 수 있게 됩니다. 그래서 이런 언어들로 학교 현장에서 교육을 하고 있는 것입니다.

 

이렇게 쉬운 교육용 언어로 학습을 하고 흥미가 있고 관심이 있으면 더욱 더 어려운 컴퓨터 언어를 공부해서 발전을 할 수도 있습니다. 무엇보다 이 언어들의 목적은 아주 복잡한 앱같은 프로그램을 만드는 것이 아니라, 논리적인 사고와 처리력을 향상시키는데 있다보니, 쉽게 접근할 수 있다는 장점이 있습니다.  

이상으로 컴퓨터 코딩이란 무엇인가와 그렇게 코딩을 할 수 있도록 만들어주는 컴퓨터 언어에 대해서 간단하게 알아봤습니다. 일단 코딩 공부를 하기 전에 간단하게 개념이라도 정립할 수 있는 계기가 되었으면 합니다.

,