[JS] 컴파일러와 인터프리터

임승민·2023년 3월 14일
0

JavaScript

목록 보기
5/6
post-thumbnail

컴파일러와 인터프리터

컴퓨터는 0과1로 이루어진 이진수만 이해할 수 있다. 따라서 우리가 작성하는 프로그래밍 언어를 컴퓨터(CPU)가 이해할 수 있는 기계어(비트 단위의 저급 언어)로 번역해야 한다.

이 때 번역을 해줄 번역기가 컴파일러와 인터프리터이며 둘은 차이점이 존재한다.

컴파일러

컴파일러는 코드 전체를 읽고 한번에 번역을 하며 번역 시 실행파일이 생성된다.

따라서 다음에 실행할 때 실행시간이 빠르고 번역시간이 인터프리터 대비 길다.

컴파일러는 전체 코드를 번역하는 과정에서 에러가 발생해 코드가 실행되지 않는다.

인터프리터

인터프리터는 한줄씩 번역하며 번역 시 실행파일을 생성하지 않아 다음에 실행 시 다시 번역을 해야한다.

따라서 번역시간이 컴파일러 대비 짧지만 실행 시간이 더 길다.

인터프리터는 한줄씩 실행하다 에러가 발생하면 프로그램이 종료되며 에러 발생 전 코드들은 실행된다.


컴파일러와 인터프리터 차이

컴파일러인터프리터
번역 방식 한번에 번역한줄씩 번역
번역 속도느림빠름
실행파일 생성OX
실행 속도빠름느림
에러 발생 시전체 코드 변환 후 보고에러 발생 시 이후 코드 실행X
대표 언어C, C++, JavaJS, Python, Ruby


References

[GURU99] Compiler vs Interpreter – Difference Between Them
[은연일체] 컴파일러와 인터프리터에 대해 알아보자
[jhur98] 컴파일러(compiler)와 인터프리터(interpreter)의 차이

0개의 댓글