컴퓨터프로그래밍

컴파일러(Complier)와 인터프리터(Interpreter)

signal시노 2024. 7. 1. 16:53

컴파일러란 고급 언어로 작성 된 소스코드를 컴퓨터가 알아먹을 수 있게 저급 언어(기계어)로 번역하는 프로그램이다.

 

컴파일러 언어의 종류
C, C++, C#, JAVA 등이 있다.

 

JAVA로 예를 들자int i라는 변수를 저장하면 이것은 소스코드이고 -> 컴파일러를 통해 변환되어 -> JVM이라는 가상머신을 통해 -> 컴퓨터가 알아먹을 수 있는 최종 언어로 전달되게 된다.

 

전체 소스코드를 입력하면 한번에 컴파일 하여 넘기므로 그 양이 방대하다면 컴파일 하는 시간이 오래 걸릴 수 있지만 실행은 실행 파일을 실행시킴으로써 할 수 있으며, 실행시에는 컴파일 과정을 거치지 않고 실행만 하면 되므로 코드 실행 속도가 빠르다.

 

또 한 에러에 관하여 전체 소스코드를 컴파일 하는 과정에서 비교적 쉽게 찾아낼 수 있다.

 

인터프리터란 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램을 말한다.

 

인터프리터 언어의 종류
Python, Javascript, Ruby 등이 있다.

 

인터프리터 언어는 소스 코드를 한번에 기계어로 변환하는 컴파일러와 달리, 컴파일 하지 않고 소스 코드를 한 줄씩 읽어들여 실행한다.

 

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

 

에러에 관하여 따로 컴파일을 하지 않아 컴파일에서 에러를 잡지 못하고 런타임 시 에러가 발생한다.

(최근에는 또 개발되어 그렇지 않다고 한다.)

 

 

'컴퓨터프로그래밍' 카테고리의 다른 글

정보통신이론(HTTP)  (0) 2024.08.20
하이퍼바이저(Hypervisor)  (0) 2024.07.22
컴퓨터와 2진수, 데이터  (0) 2024.07.02
중앙처리장치(CPU) 작동 원리  (0) 2023.07.11
컴퓨터의 구성  (0) 2023.07.11