소스 코드(고급언어) > 컴파일 > 실행 파일(기계어) > 실행
컴파일 언어는 프로그램이 실행되기 전 컴파일러를 통해 소스 코드를 기계어로 변환하는 프로그래밍 언어이다. 컴파일 과정을 거쳐 생성된 실행 파일은 모든 코드가 기계어로 변환되어 있으므로 프로그램 실행 속도가 빠르다. 즉, 컴파일 언어는 프로그램 실행 전 반드시 컴파일 과정을 거쳐야 한다는 단점이 있으나 그와 동시에 프로그램 실행 속도가 빠르다는 장점을 가지는 것이다.
대표적인 컴파일 언어로는 C, C++, Java 등이 있다.
소스코드 > 인터프리터 > 실행
인터프리터 언어는 프로그램 실행 시 소스 코드를 한 줄씩 읽어 내려가며 기계어로 변환하는 프로그래밍 언어로 컴파일 언어와 대조된다. 인터프리터 언어는 컴파일 과정이 없어 코드의 번역과 프로그램 실행이 동시에 일어나므로 실행 속도가 느리다. 그러나 컴파일 과정이 없어 디버깅이 수월하다는 장점이 있다.
대표적인 인터프리터 언어로는 Python, R, JavaScript 등이 있다.
이식성
컴파일 언어는 OS마다 실행 파일이 달라 이식성이 낮고,
인터프리터 언어는 인터프리터만 필요로 하므로 이식성이 높다.
코드 변환 단위
컴파일 언어는 컴파일 과정에서 모든 소스 코드를 변환하지만,
인터프리터 언어는 프로그램 실행 시 소스 코드를 한 줄씩 변환한다.
프로그램 실행 속도
컴파일 언어는 프로그램 실행 속도가 빠르지만,
인터프리터 언어는 프로그램 실행 속도가 느리다.
❗프로그램 실행 속도와 달리 기계어로 번역하는 변환 속도는 인터프리터가 더 빠르다.