컴파일 언어(compiled language)는 구현체들이 일반적으로 컴파일러(소스 코드로부터 기계어를 생성해내는 변환기)이면서 인터프리터(런타임 전 변환 과정을 거치지 않는, 소스 코드의 단계별 실행기)가 아닌 프로그래밍 언어이다.
인터프리트 언어(interpreted language)는 컴파일러를 거쳐서 기계어로 변환되지 않고 바로 실행되는 프로그래밍 언어이다
많은 프로그래밍 언어는 컴파일러와 인터프리터 양쪽 모두 구현되어 있다. 예를 들어 자바는 가상 머신을 위한 바이트코드로 컴파일될 수 있으며, 가상 머신의 인터프리터가 이를 처리한다. 또한 JIT 컴파일을 통해 바이트코드가 네이티브 코드로 컴파일되기도 한다.