
고급 프로그래밍 언어로 작성한 원시 코드 (Source Code)를 컴파일 하지 않고, 코드 한 줄 단위로 바로 실행하는 방식으로 동작하는 프로그램이다.
인터프리터를 사용하는 언어의 종류로는 JavaScript, Python, Ruby 등이 있다.

공통점 :
고급 언어로 작성된 프로그램을 컴퓨터 내부에서 사용 가능한 기계어로 변환하기 위해 사용하는 프로그램이다.
차이점 :
컴파일러는 프로그램 전체를 번역해서 기계어로 이루어진 프로그램을 생성하여 실행한다면, 인터프리터는 작성된 코드 한 문장씩 기계어로 변환해서 바로 실행한다.
즉 한 마디로 말하자면, 컴파일러는 고급 프로그래밍 언어를 기계어(어셈블리어)로 '번역'을 하며, 인터프리터는 '동시통역'을 한다고 볼 수 있다.
| 장점 | 단점 |
|---|---|
| ▪ 전체적으로 한 번 디코딩하면 그 다음부터는 실행만 하므로, 실행시간 측면에서 효율적. ▪ 반복문이나 계속 호출되는 부프로그램처럼 많은 횟수를 반복 처리하는 프로그램의 경우에 큰 도움이 됨. | ▪ 몇 줄의 소스 프로그램이 몇백 줄의 기계어로 번역되어 큰 기억 장소를 필요로 할 수도 있음. |
| 장점 | 단점 |
|---|---|
| ▪ 한 줄 단위로 번역과 실행을 하여 매번 같은 기억 장소를 사용하므로 기억장소를 줄일 수 있음. ▪ 별도의 실행파일이 없어서 코드를 수정할 때 용이함. | ▪ 고급언어로 작성된 프로그램을 한 줄 단위로 번역과 실행을 하기 때문에 반복문과 같은 컴파일러보다 실행시간이 많이 소요됨. |
출처 :
https://builtin.com/software-engineering-perspectives/compiler-vs-interpreter
https://velog.io/@congaweb/compiler-interpreter
noodabee님의 [컴파일러 언어와 인터프리터 언어 비교]