우리가 현재 사용하는 일반적인 고급 프로그래밍 언어(Ex. C, Java, Python)들을 컴퓨터가 알아들을 수 있는 기계어로 번역하기 위한 수단으로 컴파일러와 인터프리터가 있다.
컴파일러와 인터프리터 중 어느 게 나을까?
그건 상황에 따라 달라진다.
플랫폼 종속성이란 개발 도중 개발 환경을 바꿨을시 문제가 발생하는가라는 것이다.
컴파일러는 해당 플랫폼에서 동작하는 실행 파일을 만든 후에 다른 플랫폼으로 옮겨 해당 실행 파일을 실행했을 경우, 제대로 동작하지 않는다.
하지만 인터프리터는 별도의 실행 파일을 만들지 않기 때문에 다른 플랫폼으로 이동해도 문제가 발생하지 않는다.
프로젝트 규모에 따라 적용되는 장단점들이 달라진다.
인터프리터는 한 줄씩 번역하기 때문에 규모가 작은 프로젝트에서 수정 및 디버깅이 유리하여 개발 속도가 빠르다.
하지만 컴파일러는 초기에 실행 파일을 만들어서 이후에 실행할 경우 빠르게 번역할 수 있다. 그래서 프로젝트의 규모가 커질수록 인터프리터와 번역 속도의 차이가 더 커질 것이다.