언뜻보면 둘이 비슷하다는 느낌을 받는다. (본인 얘기)
물론 둘 다 사람이 작성한 고급언어 소스코드를 기계어로 번역한 후 프로그램을 실행시킨다는 공통점이 있기는 하다.
하지만 이 둘은 명확한 차이를 가지고 있으므로 구분해서 알아보고자 한다!
- 사람이 작성한 코드를 한번에 번역한다.
- 한 번 번역을 한 뒤에는 실행파일이 생성된 상태이므로 다음 실행시 기존 파일을 실행한다.
- 오류 메시지 생성시 전체 코드를 검사 한 후 오류메시지 생성, 실행 전에 오류 발견이 가능
- 대표적 언어 : C, JAVA
- 한줄 한줄씩 번역을 진행한다.
- 번역시 실행파일을 생성하지 않기 때문에 매번 실행시마다 같은 번역을 진행해야함.
- 대표적 언어 : JavaScript, Python 등
컴파일러는 인터프리터에 비해 실행 시간은 빠르지만, 번역시간은 오래걸린다.
인터프리터는 컴파일러보다 실행시간은 느리나 번역시간은 빠르다.
컴파일러는 플랫폼 종속적이지만 인터프리터는 플랫폼에 종속적이지 않기 때문이다!