[Programming]컴파일 / 인터프리터 언어

Bik_Kyun·2022년 5월 1일
0
post-thumbnail

1. Compiled language

작성한 코드를 모두 기계어로 변환한 후에 기계어 코드로 실행하는 방식의 언어

  • 소스코드를 목적코드(컴파일러나 소스코드 파일을 컴파일해서 생성하는 파일)로 옮기는 것.
  • 번역과 실행이 따로 이루어진다.
  • Compiler : 번역기라고 불리며 특정 프로그래밍 언어를 다른 언어로 옮기는 프로그램.
  • 컴파일을 수행하면 실행가능한 파일(프로그램)이 생성된다.
  • .class 파일 등과 같이 변환하여 실행한다.
  • ex) C, C++, C#, Java, Rust, Go ...

2. Interpreted language

개발자가 작성한 코드를 기계어로 변환하는 과정 없이 한 줄 한 줄 해석하여 실행하는 방식의 언어

  • 소스코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 뜻한다.
  • 번역과 실행이 동시에 이루어진다.
  • 인터프리터는 별도의 실행파일이 존재하지 않는다.
  • 빌드 과정이 없다.
  • ex) JavaScript, HTML, ActionScript, SQL, Python, Ruby ...

3. 둘의 차이점

1) 실행 단계의 차이

컴파일 언어는 '컴파일링' 단계가 필요하고
인터프리터 언어는 별도의 '컴파일링' 과정이 필요 없다.

2) 생산 속도의 차이

컴파일 언어의 경우 '컴파일링' 과정이 들어가기 때문에 인터프리터 언어보다 생산 속도가 느리다.
인터프리터 언어는 과정이 단순하기 때문에 생산 속도가 빠르다.

3) 소스 코드 작성 제약 사항

컴파일 언어에는 소스 코드 작성을 위한 제약사항이 스크립트형 언어보다 더 많다.
따라서 컴파일 언어는 사용해야 하는 변수의 자료에 대해서 명확하게 알아야 하며 각종 문법에 따른 제약 사항들도 알아야 한다.

4) 디버깅

인터프리터 언어는 간편한 만큼 잃는 것도 있다.
소스 코드가 실행되기 전까지는 소스 코드의 버그를 인지하는 것이 어렵다.
물론, 인지할 순 있지만 컴파일 언어에 비해 오류 인지 시점이 늦다.
또한, 컴파일 언어가 디버깅 작업이 훨씬 수월하다.

5) 실행 속도

생산 속도는 인터프리터 언어가 더 좋지만
실행 속도는 컴파일 언어가 훨씬 더 빠르다.
컴파일을 한 뒤에 생성된 파일에 의해 프로그램이 실행되기 때문에
번역기에 의해 번역이 되고 실행되는 인터프리터 언어에 비해 훨씬 빠르다.
실행 속도는 C, C++ -> Java -> Python 순으로 느려지기 때문에
연산 속도나 실행 속도에 민감한 프로그램은 인터프리터 언어로 개발하지 않는다.

profile
비진

0개의 댓글