컴파일러와 인터프리터는 고급언어로 작성된 Source Program을 Object Program으로 번역하는 번역 프로그램을 말합니다. 두 가지는 프로그램을 번역 하는 방식에 따라 구분됩니다.
컴파일러
컴파일러는 고급 언어로 작성된 프로그램 전체를 목적 프로그램으로 번역한 후, 링킹 작업을 통해 컴퓨터에서 실행 가능한 프로그램을 생성합니다.
- 장점 : 단 한번의 번역 후에는 다시 번역하지 않으므로 실행 속도가 빠릅니다.
- 단점 : 프로그램 전체를 번역한 후 실행하기 때문에 번역 시간이 오래 걸립니다.
위와 같은 컴파일러 방식을 사용하는 대표적인 언어로는 C 와 JAVA 등이 있습니다.
인터프리터
인터프리터는 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고, 번역과 동시에 프로그램을 즉시 실행시킵니다.
- 장점 : 프로그램을 줄 단위로 번역 실행하기 때문에 Soruce의 변화에 대한 반응이 빠릅니다.
- 단점 : 번역 속도는 빠르지만 프로그램 실행 시 매번 번역이 필요하므로 실행 속도는 느립니다.
위와 같은 인터프리터 방식을 사용하는 대표적인 언어에는 Python, JavaScript, Basic 등이 있습니다.
인터프리터 와 컴파일러의 차이점
| 구분 | 인터프리터 | 컴파일러 |
| 번역단위 | 줄 단위 | 전체 |
| Object Program | X | O |
| 번역 속도 | 빠름 | 느림 |
| 실행 속도 | 느림 | 빠름 |