brunch

You can make anything
by writing

C.S.Lewis

by 릴리씨 Jan 25. 2019

코딩과 프로그램

코딩 이야기

그렇다면 코딩이 무엇일까?


컴퓨터 프로그램의 다른 말. C언어, 자바, 파이선 등 컴퓨터 언어로 프로그램을 만드는 것. 우리나라에서는 2018년부터 전국 초중고교에서 소프트웨어교육(코딩 교육)을 의무화하고 있다.

- 한경 경제용어사전 -



그럼 이것으로 코딩이 이해가 되는가? 그렇다면 코딩이 소프트웨어인가? 그런데 프로그램과 코딩이라는 개념이 조금 혼란스럽지는 않을까? 프로그램도 코딩도 무언가 작업을 하여 결과물을 내는 SW 적인 개념 같은데... 이 둘의 차이는 무엇일까?


내가 회사 생활을 처음 시작하였을 당시 꽤 의미 있는 질문을 던져 주신 사수가 계셨다. 당시 신입으로서 동기와 함께 프로젝트를 진행하였는데, 빠른년생에 석사 연차를 받은 나와 1년 늦은 취업생인 남자 동기와의 애매한 관계에서 프로젝트는 산으로 갔고 나는 중간에서 의욕을 잃은 채 해야만 하는 일만 생각 없이 진행하고 있었다. 한마디로 사회생활이 처음이라 헤메고 있었다. 그러던 중 사수께서 던진 질문 하나



OO씨는 코더가 될꺼야? 프로그래머가 될꺼야?




그러면 코더와 프로그래머는 뭘까?

코딩을 하는 사람, 프로그래밍을 하는 사람?

어린이 대상으로 한 설명이 이해가 쉽다.


코딩이란 주어진 명령을 컴퓨터가 이해할 수 있는 언어로 입력하는 것을 말합니다. 좀 더 넓은 의미에서는 프로그램을 만든다는 뜻의 '프로그래밍'과 동일한 개념으로 사용 되기도 합니다.


- 천재학습백과 초등 소프트웨어 용어사전-


정리를 하자면,

목적과 아이디어를 바탕으로 필요한 정보를 숙지한 뒤 알고리즘(어떤 문제를 해결하기 위한 절차, 방법, 명령어를 모아 놓은 것. 순서도)를 정립하고 그 명령들을 컴퓨터가 알 수 있는 언어로 입력하는 모든 작업을 프로그램이라 하고 코딩은 최소의 범위로는 명령들을 입력하는 행위, 최대의 범위로는 프로그램 전반적인 과정과 동일하다는 의미로 해석된다.



나는 개발자 출신이라 그런지 코딩의 개념이 넓게 사용되는 것이 아직 어색하다. 현업에서 프로그래머가 아닌 코더들을 많이 봐오기도 했었고, 주관을 가지고 만든 프로그램과 지시에 의해 만들어진 프로그램의 질적 차리를 알기 때문이다. 그래서 코딩과 프로그램을 혼용하여 사용할 때 코딩에 알고리즘 구상이 포함되는가를 가장 중요하게 보는 이유이기도 하다. 그냥 개취이다.






그럼 코딩 용어를 아주 잠깐 보고 가자.


예전에는 0과 1로 컴퓨터에게 직접 말을 했었다. 그런데 사실 이건 너무 어렵다. 그래서 조금 더 쉽게 사람이 사용하는 언어와 흡사하게 프로그래밍 언어를 만들었다. 기계어는 컴퓨터가 이해하고 실행하는 컴퓨터 언어이고, 프로그래밍 언어는 사람이 이해하기 쉬운 언어이다.





프로그래밍 언어의 종류로는

저급언어와 고급언어로 나뉠 수 있고 이 중 고급 언어가 사람이 이해하기 쉽게 작성된 C, JAVA 등의 언어를 말한다.


여기에서 조금 보면,

블록 형태로 되어 있는 명령어를 드래그 앤 드롭으로 입력 명령어를 순차적으로 레고를 쌓는 것처럼 쌓아 나가면서 프로그램을 하는 블록형 프로그래밍 언어가 있다. 우리가 많이 들어 본 스크래치, 엔트리, 앱인벤터와 같은 언어들이다. 그리고 우리가 그동안 알고 있던 C, JAVA, Physon 등의 언어는 글자로 되어 있는 명령어를 키보드로 입력을 하는 텍스트 프로그래밍 언어이고 블록형에 비하여 상대적으로 어렵다.


마지막으로 코딩의 원리를 쉽게 이해하고 프로그램을 짤 수 있는 교육 목적의 언어는 EPL (Educational Programing Language) 라고 하며 스크래치와 엔트리가 있다.



용어까지 봤으니 다음에는 실제 예를 보자.






매거진의 이전글 코딩의 소개
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari