컴퓨터 computer 작업을 하는 것을 가리켜 '컴퓨팅 computing'이라고 하듯이, 컴퓨터에 코드 code를 입력하는 것을 '코딩 coding'이라고 합니다.
코드 code
코딩 coding
왜 컴퓨터에 코드를 입력하나요?
그건, 컴퓨터에 명령을 내리기 위해서예요.
컴퓨터는 사람을 대신해서 계산을 하도록 만든 하인 같은, 또는 로봇 같은 기계잖아요. 그러니까 사람이 명령을 하지 않으면 아무것도 못해요.
그럼, 명령을 하는 것을 왜 하필 '코딩'이라고 하나요?
사실 컴퓨터에 명령을 하는 방법에는 여러 가지가 있어요. 심지어는 말로 할 수도 있고요, 스마트폰 같은 컴퓨터는 주로 손가락 터치 touch로 명령을 내려요.
하지만 스마트폰 같은 건... 명령을 내린다기보다는 그냥 조작하는 거잖아요?
맞아요.
우리는 스마트폰을 조작해요.
스마트폰뿐만 아니라 수많은 기계를 조작하면서 살고 있지요. 카메라도 조작하고, 가전제품도 조작하고, 컴퓨터도 조작하고, 자동차도 조작(운전)하고, 모든 기계를 조작하며 살고 있어요. 조작한다 건 은연중에 기계에게 명령을 내리고 있는 것이에요. 그 명령이란 게 내 맘대로 아무거나 하는 게 아니라, 미리 '준비된 명령'이라는 것이지요.
이 '준비된 명령'을 다른 말로 하면 '명령어'라고 한답니다.
마치 태권도를 배울 때 알게 되는 "차렷". "경례", "준비", "시작" 같은 구호(명령)들이지요. 그런 명령(구호)이 내려졌을 때만 움직이라고 미리 만들어 놓은 것이지요.
컴퓨터는 보통 키보드와 마우스라는 입력장치를 통해 조작해요. 다시 말해, 명령을 내려요. '코딩'이란 주로 컴퓨터 키보드를 통해서 컴퓨터에게 명령을 내리는 방법이에요.
키보드 keyboard
마우스 mouse
입력장치 input device
명령 command
컴퓨터에는 일반적인 가전제품에 내장된 명령어와는 비교도 안 될 정도로 많은 명령어들이 마련되어 있어요. 사람이 그 명령어들을 배워서 키보드를 통해 컴퓨터에게 일을 시키는 거예요. 그게, 코딩이에요.
코딩은 주로 키보드를 통해서 한다고 했지요?
키보드는 문자와 숫자를 컴퓨터에 입력할 수 있어요. 문자라고 하면 한글(한국어)이 생각나기도 하지요? 그런데, 코딩을 할 때 쓰는 문자는 거의 다 영어예요. 왜냐하면 컴퓨터는 영어를 모국어로 쓰는 사람들이 먼저 만든 기계이기 때문에 그래요. 아쉽지만 코딩을 하기 위해서는 영어 문자에 익숙해져야 해요. 그렇다고 많이 어려운 건 아니니까 겁을 먹을 필요는 없어요. 학교에서 배운 영어 알파벳과 몇 가지 기호만 알면 돼요.
컴퓨터 안에 미리 준비된 수많은 명령어들은 모두 다 아래와 같은 문자와 숫자를 사용해서 만든 것이에요. 아래와 같은 문자와 숫자를 우리는 'code(코드)'라고 불러요.
abcdefghijklmopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
~!@#$%^&*()-+=_{}[];':",. <>?\|/
그거 알아요?
위의 문자와 숫자는 '사람이 이해할 수 있는' 코드라는 사실을요.
컴퓨터는 위의 문자나 숫자를 사람처럼 이해하지 못해요. 컴퓨터는 모든 것을 수 number로만 이해하게끔 만든 기계예요. 그 수는 무엇일까요? 바로 전기가 흐른다, 안 흐른다를 표시하는 0과 1이에요. 왜냐하면 컴퓨터는 전기로 작동하는 기계이기 때문에 원래 처음부터 그렇게 설계되었어요. 그래서 컴퓨터 입장에서는 전기가 흐른다(1), 전기가 안 흐른다(0)라는 단 두 가지 기호로만 모든 것을 판단해요. 다른 건 없어요.
그런데 신기하죠?
단 두 가지 숫자만 사용해서 수많은 명령어를 만들어낸다는 게.
그리고, 단 두 가지 숫자만 사용하는데도 불구하고 우리는 카톡도 하고, 사진도 찍고, 워드도 하고, 엑셀도 하고, 포토샵도 하고, 게임도 하고, 인터넷도 한다는 사실 말이에요.
사람이 위의 문자와 숫자를 사용해서 컴퓨터에게 명령을 내리면, 컴퓨터는 사람이 준 명령어를 자기가 이해할 수 있는 단 두 가지 종류의 수 즉, 0과 1로 바꿔야 해요. 그래야 이해할 수 있으니까. 컴퓨터 입장에서 보면 위의 문자와 숫자는 이해하기 위해 풀어야 할 '암호'지요. 그래서 '코드'라는 말은 종종 '암호'와 같은 의미로 사용되기도 해요.
사람이 코딩을 통해 컴퓨터에게 명령을 내리면 컴퓨터는 자기가 이해할 수 있는 두 가지 기호로 바꾸는데, 이 과정은 신경 쓸 필요가 없어요. 우리는 위의 문자와 숫자를 사용해서 어떻게 명령을 내리는가 하는 것만 알면 돼요.
그럼, '프로그래밍'이라는 말은 뭔가요?
'프로그래밍 programming'이라는 말은 '프로그램 program을 만든다'는 뜻이에요. 프로그램은 컴퓨터에서 작동하는 소프트웨어 또는 앱이에요.
소프트웨어 software
앱 app
프로그램을 만든다라는 말은 코딩을 한다라는 말과 같아요. 다 같은 뜻인데요, 예전에는 '프로그래밍'이라는 말을 주로 썼는데 요즘에는 '코딩'이라는 말을 더 많이 쓰는 것 같아요.
프로그램(소프트웨어)을 만든다는 게 무엇일까요?
이를테면 '카카오톡' 같은 앱을 만드는 것이에요. 또한 '포토샵'이나 '컴퓨터 게임'을 만드는 것이지요. 위의 문자와 숫자를 사용한 컴퓨터 명령어를 적절하게 조합해서 일련의 기능을 갖는 프로그램을 만들어내는 것이 바로 코딩, 즉 프로그래밍이랍니다.
프로그램 만드는 것을 '짠다'라고도 말합니다.
19세기 수공업에 종사하는 사람들은 옷감을 짰지요. 개그맨은 개그를 짜고요. 우리는 이제 코드를 사용해서 프로그램을 짜 볼 거예요.