본문 바로가기

Javascript

인터프리터 언어 vs 컴파일러 언어

반응형
인터프리터 언어 vs 컴파일러 언어

 

Javascript를 공부하면서 나의 궁금증을 정리해본다.

컴파일러 언어란?

컴파일러 언어란 개발자가 작성한 소스 코드(고급 프로그래밍 언어)를 컴파일러(Compiler)를 통해 기계어(저급 프로그래밍 언어)로 바꿔 사용하는 것을 말한다. 

한마디로 개발자인 우리에게 친숙한 언어는 컴퓨터가 알기 어려운 언어이므로 컴퓨터가 쉽게 알아들을 수 있도록 컴파일러를 통해 번역해준다고 생각하면 쉽다.

 

컴파일러를 통해 빌드가 완료되었다면 모든 언어가 기계어로 변환되었기 때문에 실행 속도가 빠르지만 규모가 큰 프로그램을 컴파일할 때에는 컴파일러를 통해 한 번에 모든 코드를 기계어로 바꿔 사용하기 때문에 생산성이 떨어지는 단점이 존재한다.

컴파일러 언어를 통해서 개발을 할 때 가장 효율이 좋은 것은 반복적으로 빌드를 할 필요가 없으며 플랫폼 변화가 없는 프로그램을 개발할 때 좋다고 생각한다.

 

컴파일러 언어 종류) C, Java, C++, C#, 등

인터프리터 언어란?

인터프리터 언어란 개발자가 작성한 소스 코드를 컴파일러를 통한 변환 과정 없이 사용한다. 즉 고급 언어로 작성된 명령어들을 한 번에 한 줄씩 읽어 들여서 실행한다.

컴파일러를 통해 고급 언어를 기계어로 번역하여 사용하기 때문에 인터프리터 언어보다 속도가 느리다고 생각할 수 있지만 실제로는 인터프리터 언어가 실행파일을 별도로 생성하지 않기 때문에 실행할 때마다 인터프리터 과정을 반복 수행하여야 하리 때문에 실행 속도가 컴파일러 언어보다 느리다.

 

인터프리터 언어 종류) Python, Javascript, Ruby, 등

 

컴파일러 언어와 인터프리터 언어의 차이 표

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

 

참고 : https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC

 

컴파일러 - 위키백과, 우리 모두의 백과사전

컴파일은 여기로 연결됩니다. 일본의 기업에 대해서는 컴파일 (기업) 문서를 참고하십시오. 일반적인 다중 언어, 다중 대상 컴파일러의 동작 모습. 컴파일러(compiler, 순화 용어: 해석기, 번역기)

ko.wikipedia.org

참고 : https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0

 

인터프리터 - 위키백과, 우리 모두의 백과사전

인터프리터(interpreter, 문화어: 해석기)는 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다. 원시 코드를 기계어로 번역하는 컴파일러와 대비된다. 인터프리터

ko.wikipedia.org

 

반응형

'Javascript' 카테고리의 다른 글

Javascript 동기와 비동기 차이를 알아보자  (0) 2022.06.26
클로저(Closure)를 알아보자  (0) 2022.06.23