프로그래밍(Programming)
우리가 개발자라고 하는 사람들을 보면 가장 먼저 떠오르는 단어들이 바로 코딩, 프로그래밍, 프로그래머 등일 겁니다.
우리는 이 단어들을 한 번 쯤은 들어봤고 또 익숙하지만, 이 단어들이 정작 왜 쓰이는지는 제대로 알고 있지 못하죠.
그래도 나이를 막론하고 우리에게 익숙한 단어가 하나 있습니다. 바로 프로그램(Program)이죠.
프로그램이란 단어는 수 많은 곳에 쓰입니다. TV프로그램, 여행 프로그램, 교육 프로그램 등등...
프로그램(Program)이란 뜻 자체는 '어떤 목표를 이루기 위한 계획'을 말합니다.
그러한 프로그램의 동사인 프로그래밍(Programming)은 '그 목표를 세우는 과정'이라고 볼 수 있겠죠.
좀 더 구체적으로 말하면, 컴퓨터가 무언가를 자동으로 하게 만들기 위해 우리가 작성하는 모든 지시사항을 뜻합니다.
예를 들어, 우리가 '카카오톡을 열고, 특정 시간에 자동으로 인사를 보내는 기능'을 만든다고 생각해봅시다.
이럴 땐 컴퓨터에게 아주 정확하게 '언제, 누구에게, 어떤 메시지를 보내야 하는지' 알려줘야 하죠.
이걸 바로 ‘프로그래밍’이라고 합니다.
코딩(Coding)
코딩(Coding)도 알아보죠. 컴퓨터 프로그래밍을 하기 위해서는 컴퓨터에서 반드시 코드(Code)를 작성해야만 합니다.
그리고 이 코드를 작성하는 행위를 동사인 ~ing를 붙여서 '코딩(Coding)'이라고 하는 것이죠.
많은 분들이 “코딩 = 프로그래밍”이라고 생각하는데, 정확하게는 조금 다릅니다.
- 프로그래밍은 컴퓨터에게 시킬 일을 계획하고 설계하고, 문제를 해결할 논리를 정리하는 전체 과정이고,
- 코딩은 그중에서 프로그래밍 언어로 실제 코드를 쓰는 행위만을 뜻하거든요.
🧩 더 쉽게 비유해 보자면
- 프로그래밍 = 집 짓기 전체 과정 (설계, 시공, 검사 등 포함)
- 코딩 = 그 집을 실제로 벽돌 하나하나 쌓는 일
프로그래밍이 더 넓은 개념이고, 코딩은 그 안에 포함된 일부 작업인 것이죠.
모스 부호(Morse code)
코드는 우리말로는 '암호'를 뜻합니다. 혹시 모스 부호라는 말을 들어봤을지 모르곘는데, 이 모스 부호에서 '부호'도 영어로는 code입니다.
흔히 개발자들이 코드를 작성할 때 '코드를 짠다'라는 표현을 많이쓰는데, 이를 모스부호를 통해 알아봅시다.
현대에는 기술이 많이 발달해서 카카오톡, 스마트폰 등으로 손쉽게 연락을 주고받지만, 기술이 발달하지 않아 전화기조차 귀했던 과거에는 전신기로 모스부호를 발생해서 멀리 전보를 보냈습니다.
전신기의 원리는 간단합니다. 버튼을 누르면(on) 전류가 통하고, 버튼을 떼면(off) 전류가 끊기게 되죠.
모스 부호는 이걸 얼마나 오래 누르느냐 어떤 느낌으로 끊어 누르느냐에 따라 발생하는 전류의 패턴을 글자로 표현한 것을 말합니다.
코딩을 하는 것도 컴퓨터가 이해하기 쉬운 암호를 작성하는 것과 다르지 않습니다. 모스부호처럼 어떤 신호를 주고 또 어떨떈 신호를 주지 않고, 어떤것을 어디에 쓸 것인지 얼마나 쓸 것인지를 조절하는 것이 코딩의 본질이니까요.
그러다 보니 '코드를 짠다'라는 표현을 하게 된 겁니다. 프로그램을 작성하는 사람들을 보통 프로그래머라고 하지만, 코드를 짠다는 의미로 코더(Coder)라고 부르기도 합니다.
빌드(Build)
프로그래머가 특정 코드를 작성하더라도 컴퓨터가 실제로 받아들이는 코드는 다릅니다.
프로그래머를 미국인, 컴퓨터를 한국인이라고 생각해보면 편합니다.
프로그래머인 미국인이 영어로 얘기했는데, 토종 한국인인 컴퓨터는 이게 도통 뭔 말인지를 모릅니다.
반대로 한국인의 한국어를 미국인은 알아듣질 못합니다.
이럴때 필요한 것이 통역, 번역입니다.
컴퓨터도 마찬가지입니다 프로그래머가 작성한 코드를 컴퓨터가 이해할 수 있는 코드로 번역해줘야 하죠.
이렇게 서로가 서로의 언어를 알아들을 수 있게 번역하는 작업을 빌드(Build)라고 합니다.
프로그래머(Programmer)
이제 감이 오시죠?
프로그래머는 바로 이 프로그래밍을 하는 사람입니다.
즉, 문제를 파악하고, 해결 방법을 생각한 다음, 그걸 컴퓨터에게 설명하는 코드를 쓰는 사람이에요.
조금 멋지게 말하면,
현실의 문제를 컴퓨터로 해결하는 설계자이자 작가이자 기술자인 셈이죠.
이 프로그래머를 우리말로 바꾸면 바로 '개발자'가 됩니다.
🔍 정리하자면 이렇습니다.
프로그램 (Program) | 컴퓨터가 따라야 할 일의 순서 | 요리 레시피 |
프로그래밍 (Programming) | 그 순서를 계획하고 작성하는 전체 작업 | 레시피 만들기 |
코딩 (Coding) | 프로그래밍 언어로 코드를 직접 쓰는 행위 | 레시피를 글로 쓰기 |
프로그래머 (Programmer) | 그 작업을 수행하는 사람 | 요리책을 쓰는 셰프 |
🛠️ “프로그래밍을 배운다”는 건 결국 무얼 배우는 걸까?
- 컴퓨터의 언어(문법)를 배우고
- 문제를 논리적으로 나누고
- 순서대로 생각하는 훈련을 하고
- 내가 원하는 일을 컴퓨터가 자동으로 하게 만드는 능력을 키우는 것
즉, 생각하는 법을 배우는 과정이 바로 프로그래밍입니다.
'프로그래밍 > 용어 정리' 카테고리의 다른 글
[#1] 프로젝트(Project), 탬플릿(Template), 솔루션(Solution) (1) | 2025.05.28 |
---|