[1일 1CS] 컴파일러와 인터프리터의 차이

그렘린·2022년 7월 18일
0

1일 1CS

목록 보기
2/6

컴파일러 vs 인터프리터

언뜻보면 둘이 비슷하다는 느낌을 받는다. (본인 얘기)
물론 둘 다 사람이 작성한 고급언어 소스코드를 기계어로 번역한 후 프로그램을 실행시킨다는 공통점이 있기는 하다.
하지만 이 둘은 명확한 차이를 가지고 있으므로 구분해서 알아보고자 한다!

컴파일러

  1. 사람이 작성한 코드를 한번에 번역한다.
  2. 한 번 번역을 한 뒤에는 실행파일이 생성된 상태이므로 다음 실행시 기존 파일을 실행한다.
  3. 오류 메시지 생성시 전체 코드를 검사 한 후 오류메시지 생성, 실행 전에 오류 발견이 가능
  4. 대표적 언어 : C, JAVA

인터프리터

  1. 한줄 한줄씩 번역을 진행한다.
  2. 번역시 실행파일을 생성하지 않기 때문에 매번 실행시마다 같은 번역을 진행해야함.
  3. 대표적 언어 : JavaScript, Python 등

컴파일러는 인터프리터에 비해 실행 시간은 빠르지만, 번역시간은 오래걸린다.
인터프리터는 컴파일러보다 실행시간은 느리나 번역시간은 빠르다.

그렇다면 둘 다 사용하는 이유는?

컴파일러는 플랫폼 종속적이지만 인터프리터는 플랫폼에 종속적이지 않기 때문이다!

0개의 댓글