Skip to main content

Interpreter

info

JavaScript를 기준으로 설명한다.

JavaScript에서 Interpreter란, JavaScript engine에 존재하는, 코드를 읽고 실행하는 프로그램을 가리킨다. JavaScript는 Python과 같이 Interpreter를 통해 런타임에 실시간으로 소스 코드를 읽고 실행할 수 있다.


Interpreter형 언어?

한편, JavaScript를 Interpreter형 언어 등과 같이 표현하는 것은 잘못됐다고 생각한다. JavaScript는 프로그래밍 언어일 뿐, 그 언어를 실행하는 방식에 있어서는 여러 방식이 존재하기 때문이다.

가령, V8 JavaScript Engine의 경우, JIT(Just-In-Time) Compiler를 사용한다. 이는 성능을 위해 사용되는데, 기존에 Interpreted 되는 방식보다 최적화 되어 소스 코드가 기계어로 변환된다. 때문에 프로세서에서 곧바로 실행할 수 있기 때문에, 속도가 더 빠르다.

또는 ES6+ 문법의 호환성을 위해 Babel 등의 툴체인으로 소스 코드를 Transpile할 수도 있다.

이처럼 JavaScript는 다양한 방식의 언어로 발전되어 왔기 때문에, 구태여 구분지을 필요가 없다.

Related Links