Compiler/Interpreter 차이점 정리

이영주·2021년 3월 14일
0

프로그램 언어를 해석하고 실행시키는 방법으로 compiler, interpreter가 있다.

Compiler

컴파일러는 작성한 소스코드를 한번에 번역하기 때문에 중간중간에 코드의 동작여부를 확인하기 위해서 처음부터 다시 컴파일을 해주어야 한다. 한줄의 코드만 고쳐서 확인하려고 해도 규모가 크면 몇분에서 몇십분 이상 소요되기도 해서 개발할 때 불편하다.

Interpreter

컴파일이라는 과정없이 고급언어를 바로 실행할 방법을 생각하다 만들어진것이 인터프리터이다.
인터프리터는 한줄씩 줄 단위로 즉흥적으로 실행해준다. 컴파일의 과정이 없고 디버깅하기 좋다.
컴파일러는 바로 실행할 수 있는 프로그램으로 번역을 해서 전달해주기 때문에 전달받는 컴퓨터는 실행만 하면 된다. 인터프리터는 프로그램으로 만들어주는게 아니라 코드 자체를 주게 된다. 사용자의 컴퓨터에서 기계어로 바꾸는 번역 과정을 실시간으로 거치게 된다. 때문에 사용자의 컴퓨터에서 코드를 실행할수 있는 실행기, 즉 인터프리터를 가지고 있어야 한다. 그래서 컴파일러 방식에 비해 실행속도가 떨어지게 된다. 또 코드가 유출될 위험도 있다. 그리고 보통 고급언어에서 저급언어로 번역될수록 코드 길이가 길어지기 때문에 전체 프로그램을 머신코드로 전달하는 컴파일러 방식보다는 용량이 작다.

0개의 댓글