인터프리터

코드를 한 줄씩 읽으면서 바로 실행하는 방식입니다.

컴파일러 vs 인터프리터

컴파일러인터프리터
방식전체 코드 변환 → 실행한 줄씩 변환하면서 실행
비유책 전체를 번역한 후 출판통역사가 실시간으로 통역
실행 속도빠름느림
에러 발견실행 전에 발견실행하다가 발견

예시

# Python (인터프리터)
print("1번 줄")  # 실행됨
print("2번 줄")  # 실행됨
x = 1 / 0        # 여기서 에러, 위 두 줄은 이미 실행됨
print("3번 줄")  # 실행 안 됨
// Java (컴파일러)
int x = "hello";  // 컴파일 에러
// 전체 코드가 아예 실행 안 됨

언어 분류

컴파일인터프리터
Java, C, C++, Go, RustPython, JavaScript, Ruby

요즘은 섞어 씀

Java: 컴파일(바이트코드) + JVM이 인터프리팅/JIT 컴파일

JavaScript: V8 엔진이 JIT 컴파일로 최적화

순수하게 하나만 쓰는 경우는 드물고, 장점을 조합합니다.

CSLOG에서 보기