지금은마라톤중

컴파일러(Compiler) 언어와 인터프리터(Interperter) 언어 차이 본문

STUDY/ETC

컴파일러(Compiler) 언어와 인터프리터(Interperter) 언어 차이

달리는중 2024. 3. 30. 15:22

 

컴파일러 언어

컴파일러는 고급언어를 저급 언어로 변환하는 것입니다.

고급언어는 사람이 이해하기 쉽도록 작성된 프로그래밍 언어로 C,C++,JAVA 등이 있습니다.

저급언어은 컴퓨터 내부에서 바로 처리가 가능한 프로그래밍 언어로 기계어와 어셈블리어 등이 있습니다.

컴파일 단계와 실행 단계가 분리되어 있어, 실행시에는 컴파일하지 않고 실행만 하면 되어 실행 속도가 빠릅니다. 

- 종류 : C, C++, C#, JAVA

 

 

인터프리터 언어

인터프리터는 프로그래밍 언어의 소스 코드를 바로 실행하는 프로그램입니다.

인터프리터 언어는 컴파일 하지 않고 소스 코드를 한줄씩 읽어들여 실행합니다.

빌드 과정을 거치지 않아, 별도의 실행 파일이 존재하지 않고 코드 수정에 용이하다는 장점이 있습니다. 

컴파일 과정이 없기 때문에 컴파일의 소요시간을 없으나 인터프리터 언어는 실행파일을 별도로 생성하지 않기때문에 실행시마다 인터프리트 과정이 반복 수행되어 실행속도가 느리다는 단점이 있습니다.

 

- 종류 : Python, Javascript, Ruby

 

요약

컴파일러 언어 인터프리터 언어
코드가 실행되기 전 단계인 컴파일 타임에 소스코드 전체를 한번에 머신 코드로 변환 후 실행 코드가 실행되는 단계인 런타임에 문 단위로 한 줄 씩 중간 코드인 바이트 코드로 변환 후 실행
실행 파일 생성 O 실행 파일 생성 X
컴파일 단계와 실행 단계 분리
명시적으로 컴파일 단계 거치고 실행파일 실행
인터프리터 단계와 실행 단계 분리 X
한줄씩 바이트로 변환하고 실행
실행에 앞서 컴파일은 단 한번 수행 코드가 실행될 때마다 인터프리터 과정이 반복 수행
실행 속도 빠름 실행 속도 느림

'STUDY > ETC' 카테고리의 다른 글

시간복잡도와 공간복잡도  (2) 2022.10.13
Comments