[TIL 2021.09.14] 프로그래밍 언어론

Kyu·2021년 9월 14일
0

TIL

목록 보기
247/322

Today I Learned
프로그래밍 언어론에서 인터프리터와 컴파일러, 그리고 믹스된 하이브리드에 대해 배웠다.

고급 프로그램 언어는 크게 인터프리터와 컴파일러를 사용하는 방식으로 나뉘어진다.

인터프리터를 사용하는 고급 프로그램 언어는 프로그래머가 작성한 소스를 하나씩 CPU처럼 인출-해석-실행 한다. 즉, 인터프리터가 소스를 하나씩 기계어로 코드로 번역해 컴퓨터 하드웨어에 넘겨준다(실행한다).

컴파일러를 사용하는 고급 프로그램 언어는 하나씩 번역하지 않고 사전에 기계어 코드로 통번역을 하기 때문에 인터프리터를 사용하는 것보다 코드를 읽는 효율이 좋다.

두 가지를 합친 것을 하이브리드 형식이라고 한다. 하이브리드는 소스를 작은 컴파일로 중간 코드를 만들고 인터프리터가 이를 읽도록 한다.

이때 인터프리터를 가상기계(VM)라고 한다. 대표적인 예시로 Java가 있다.

자바의 경우에 그 가상기계(VM)를 JVM을 사용한다. 그리고 바이트 코드라는 중간 코드를 만들어서 어느 환경에서나 인터프리터(가상기계)가 있으면 작동한다. 이를 유연성과 효율성이 좋다고 한다.

profile
TIL 남기는 공간입니다

0개의 댓글