[OS] 컴파일러 vs 인터프리터

전미혜·2023년 3월 8일
0

1.컴파일러(Compiler)

  • 고급 언어로 작성된 프로그램 전체를 목적 프로그램으로 번역한 후, 링킹(Lingking) 작업을 통해 컴퓨터에서 실행 가능 한 실행 프로그램을 생성한다.
  • 번역 실행 과정을 거쳐야 하기 때문에 번역 과정이 번거롭고 시간이 오래 걸리지만, 한번 컴파일 된 프로그램이라면 다시 번역하지 않으므로 실행 속도가 빠르다.
  • 대표적인 컴파일 언어로는 C, C++, Go 등이 잇다.
  • 원래의 문서를 '소스 코드' 혹은 '원시 코드'라고 부름
  • 출력된 문서를 '목적 코드'라고 부름

2.인터프리터 (Interpreter)

  • 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고,
    번역과 동시에 프로그램을 한 줄 단위로 즉시 실행시키는 프로그램
  • 프로그램이 직접 실행되므로 목적 프로그램은 생성되지 않는다.
  • 번역 속도는 빠르지만 프로그램 실행 시 매번 번역해야 하므로 실행 속도는 느리다.
  • CPU의 이용시간의 낭비가 크다.
  • 대표적인 인터프리터 언어로는 Python, JavaScript, R이 있다.

💡 인터프리터 언어, 왜 더 많이 사용될까?

1. 디버깅이 쉽다! (개발의 편의성)

--오류를 발견하면 해당 코드 밑으로는 번역 및 실행을 못하기 때문에 오류 발견이 쉽다.

2. 운영체제 이식성이 좋다.

-- OS마다 호환되는 인터프리터만 준비되어 있다면 바로 실행이 가능하다.





사진출처 : https://losskatsu.github.io/os-kernel/compiler-interpreter/#3-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC-vs-%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0

profile
내 개발 인생의 Bootstrapping

0개의 댓글