컴파일러는 사용자가 작성한 특정한 프로그래밍 언어 문서를 다른 프로그래밍 언어로 번역하는 번역 프로그램을 말한다.
예를 들어 작성자가 C++ 코드를 작성했다고 한다면, C++은 사용자가 이해할 수 있는 프로그래밍 언어이다. 해당 코드를 실행하기 위해선 컴퓨터는 이를 자신이 사용하는 언어로 번역할 필요가 있다.(이를 컴파일이라고 한다.) 이들이 사용하는 언어체계는 우리와 다르니 말이다.
통상적으로 C++같은 프로그래밍 언어를 고급 언어, 컴퓨터가 사용하는 언어를 저급 언어라고도 하며, 컴퓨터같은 기계 장치가 이해하는 언어라고도 해서 기계어라고도 한다.