오늘 끝나면
코드는 어떻게 실행되나
- ✓코드는 어떻게 실행되나의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 코드는이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
내가 쓴 글자가 동작이 되기까지 — 컴파일 vs 인터프리터 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
개발 · Day 7
코드는 어떻게
실행되나
내가 쓴 코드는 사람 글이고, CPU는 0과 1만 안다. 그 사이를 메우는 일이 번역이다.
둘은 서로 다른 언어
price = 1000은 사람이 읽으라고 쓴 글이다.
CPU가 아는 것은 켜짐과 꺼짐, 즉 0과 1뿐이다. 그래서 코드는 누군가 0과 1로 바꿔줘야 돈다.
그 바꿔주는 일을 번역이라 부른다. 번역 방식은 두 갈래로 갈린다.
같은 뜻, 전혀 다른 표기. 그 사이를 번역이 메운다
미리 통째 vs 그때그때
번역하는 타이밍이 두 방식을 가른다.
컴파일은 실행 전에 통째로 미리 번역해 둔다. 처음엔 기다리지만, 그 뒤 실행은 이미 0과 1이라 빠르다.
인터프리터는 기다림 없이 바로 시작한다. 대신 줄마다 그때그때 번역하니 매 줄이 느리다.
번역이 끼는 위치
소스코드에서 실행까지, 길은 두 갈래다.
컴파일러는 .c 파일을 통째로 번역해 실행파일(이미 0과 1 덩어리)을 한 번 만들어 둔다. 그 다음부터는 그 파일만 돈다.
인터프리터는 실행파일을 만들지 않는다. .py 파일을 돌릴 때마다 한 줄씩 읽고 바로 실행한다.
그래서 C는 “먼저 빌드”, 파이썬은 “그냥 실행”이다.
속도냐 편함이냐
둘은 맞바꾸는 관계다.
컴파일(C)은 빠르다. 미리 다 번역해 뒀으니 실행이 군더더기 없다. 대신 고칠 때마다 다시 빌드해야 해서 번거롭다.
인터프리터(파이썬)는 편하다. 고치고 바로 돌려보면 된다. 대신 매번 번역하느라 더 느리다.
속도가 생명이면 C, 빨리 만들고 고치는 것이 중요하면 파이썬을 고른다. 옳고 그름이 아니라 골라 쓰는 것이다.
코드 보기, 같은 일, 두 언어
// C, 먼저 빌드해야 돈다
int total = price * qty;
printf("%d", total);
# 파이썬, 그냥 바로 돈다
total = price * qty
print(total)