c
, c++
, Java
와 같은 언어가 대표적인 컴파일 언어이다.
컴파일러란 특정 프로그래밍 언어로 쓰여있는 문서를 다른 프로그래밍 언어로 옮기는 프로그램을 말한다. 원래의 문서를 원시코드라 하고, 다른 프로그래밍 언어로 옮겨진 것을 목적 코드라고 한다. 또한 원시 코드(소스코드)를 목적 코드로 바꾸는 과정자체를 컴파일이라고 한다.
프로그래머가 작성한 원시코드(소스코드)를 기계어로 변환한 다음 기계에서 해당 코드를 실행시키는 언어를 말한다. 소스 코드를 기계어로 번역하는 과정을 빌드라고하며, 이 빌드의 과정이 있기 때문에 개발자체의 속도는 컴파일 언어보다 인터프리터 언어보다 느리다.
.
python
, R
, Ruby
와 같은 언어가 대표적인 인터프리터 언어이다.
인터프리터의 경우는 컴파일러와 대비되는 개념으로, 프로그래머가 작성한 코드가 있으면 해당 코드를 한줄한줄 기계어로 바꾸어 실행하는 것을 말한다.
인터프리터 언어인 파이썬이라면 2~3줄의 코드나 간단한 기능이라면, shell을 사용하거나, 간단한 스크립트 파일을 사용하여 테스트해보고 쉘을 끄거나 해당 스크립트를 지우면 그만이다.
하지만 C의 경우는 아무리 간단한 코드라도 코드를 적을 때마다 컴파일을 해줘야하기 때문에 개발 시간이 상대적으로 늘어날 수밖에 없다.
파이썬의 경우는 한 줄씩 인터프리터가 파이썬 코드를 기계어로 통역?해준다. 그렇기 때문에 이미 컴파일 과정에서 기계어로 모든 코드가 바뀌어있는 C에 비해 실행속도는 느릴 수밖에 없다