프로그래밍 언어, 지도 한 장으로 보기 — 바이브코딩 시대에 필요한 '알아보는 눈'
AI에게 말로 프로그램을 만들게 하는 바이브코딩을 하다 보면 이상한 경험을 합니다. 나는 한국어로만 말했는데, 만들어진 폴더를 열어 보면 .py, .ts, .sql, .html, .css 처럼 끝이 제각각인 파일이 가득합니다. 작은 프로그램 하나에도 언어가 대여섯 개씩 섞여 있죠.
이번에는 프로그래밍 언어를 문법이 아니라 "어디에서 무슨 일을 하는지"로 정리해 드리겠습니다. 코드를 한 줄도 몰라도 괜찮습니다. 이 지도만 머리에 넣어 두면 AI가 만든 프로그램이 고장 났을 때 어디를 고쳐 달라고 말해야 할지 감이 옵니다.
프론트엔드 — 사용자가 보는 화면 쪽. 버튼, 글자, 그림.
백엔드(서버) — 화면 뒤에서 계산하고 저장하는 쪽. 결제, 회원 정보, 주문 처리.
데이터베이스 — 정보를 표 모양으로 쌓아 두는 창고.
바이브코딩 — 만들고 싶은 것을 말로 설명하면 AI가 코드를 써 주는 방식.
한눈에 보기 — 프로그래밍 언어 지도
1. 맨 아래층 — C 언어, 모든 언어의 큰형
휴대폰 알람을 울리고, 전자레인지 타이머를 돌리고, 자동차 속 작은 칩을 움직이는 건 대부분 C 언어(와 그 형제들)입니다. 1972년 벨 연구소에서 만들어졌고, 오늘날 쓰이는 많은 언어가 C의 문법을 물려받았습니다. 아두이노 코드도 C/C++ 문법이죠.
C가 50년 넘게 살아남은 이유는 빠르기 때문입니다. 대신 메모리 정리 같은 뒷정리를 사람이 직접 해야 해서, 작은 실수가 보안 구멍이 되기도 합니다. 이 약점을 막으려고 나온 언어가 러스트입니다. 코드를 돌리기 전에 위험한 부분을 깐깐하게 검사해서, 통과하지 못하면 아예 실행을 막습니다.
2. 휴대폰 앱 — 운영체제마다 쓰는 언어가 다르다
| 기기 | 주로 쓰는 언어 | 한 줄 설명 |
|---|---|---|
| 안드로이드 | 자바 → 코틀린 | 오래 자바로 만들다가, 지금은 구글이 밀어주는 코틀린으로 넘어가는 중. 코틀린은 "값이 비어서 앱이 꺼지는" 실수를 미리 막아 줍니다. |
| 아이폰 | 스위프트 | 애플이 2014년에 내놓은 언어. |
| 은행·공공 전산 | 자바 | "한 번 쓰면 어디서나 돌아간다". 멈추면 안 되는 큰 시스템에서 여전히 주력. 우리나라 전자정부 표준 프레임워크도 자바 기반입니다. |
3. 웹 화면 — 식당으로 비유하면 쉽다
제목·사진·가격처럼 무엇이 어디에 있는지만 정합니다.
구조글씨체·색·간격처럼 보기 좋게 꾸미는 일을 합니다.
모양버튼을 누르면 반응하고, 계산하고, 화면을 바꿉니다. 움직이는 것은 대부분 이 언어.
동작자바스크립트에 실행 전 빨간 밑줄을 붙인 버전. AI가 쓴 코드의 실수도 미리 잡아 줘서 요즘 특히 많이 씁니다.
안전4. 화면 뒤 — 서버와 데이터
배달 앱에서 주문 버튼을 누르는 순간, 화면 뒤에서는 결제 확인·가게 전달·라이더 배정이 동시에 돌아갑니다. 이렇게 많은 요청을 한꺼번에 처리하는 데 강한 언어가 구글이 만든 Go입니다. 주문 기록을 데이터베이스에 넣고 꺼내는 일은 SQL이 맡습니다. SQL은 "지난달 주문을 동네별로 세서 많은 순으로 3개만"처럼 질문 문장과 거의 비슷하게 생겼습니다.
동네 가게 홈페이지나 게시판은 PHP일 가능성이 큽니다. 워드프레스와 그누보드가 PHP로 만들어져 있어서, 놀림을 많이 받으면서도 여전히 수많은 사이트를 떠받치고 있습니다.
그리고 엑셀 파일 수백 개 합치기, 매일 아침 환율 알림 보내기 같은 반복 업무 자동화와 인공지능·데이터 분석의 1등 언어가 파이썬입니다. 남들이 만들어 둔 도구(라이브러리)가 많아서 레고처럼 조립하면 됩니다.
5. 맨 위층 — 이제 한국어가 프로그래밍 언어다
그럼 이제 언어 공부는 필요 없을까요? 아닙니다. AI가 짠 코드도 틀립니다. 그때 "뭔가 이상해"라고만 말하는 사람과 "저장이 안 되니 SQL 쪽부터 봐 줘"라고 말하는 사람은 고치는 속도가 완전히 다릅니다. 요리를 못 해도 "간장이 많이 들어간 것 같아요"라고 말할 수 있으면 다음 접시가 달라지는 것처럼요. 이제 언어 공부는 쓰는 법보다 알아보는 법이 더 중요해졌습니다.
6. 바로 써먹는 프롬프트
간단하게 — 내 프로젝트가 어떤 언어로 돼 있는지 묻기
조금 더 구체적으로 — 고장 났을 때 "어느 층" 문제인지 짚기
제대로 맡기기 — 프로젝트 지도 문서 만들기
7. 수업에서는 이렇게
학생이 오늘 쓴 앱 3개를 고르고 화면·서버·데이터 층에 어떤 언어가 있을지 추측해 봅니다.
탐구위 지도를 빈칸으로 나눠 주고, 언어 카드를 알맞은 층에 붙이는 활동.
정리AI가 만든 작은 웹페이지에서 HTML·CSS·자바스크립트 부분을 색으로 구분해 표시하게 합니다.
읽기아두이노 코드가 맨 아래층(C/C++) 이라는 걸 보여 주면 피지컬 컴퓨팅 수업과 이어집니다.
연계
댓글
댓글 쓰기