Compiler : 고급 언어(소스 코드, 원시 코드)를 기계어(목적 코드)로 번역해주는 프로그램
Interpreter : 고급 언어로 작성된 소스 코드 명령어들을 한번에 한 줄씩 읽어들여서 실행하는 프로그램
Compiler | Interpreter | |
---|---|---|
번역 단위 | 전체 | 문장 |
프로그램 실행 속도 | 빠름 | 느림 |
실행 파일 생성 | O (번역된 결과물) | X |
메모리 할당 여부 | O (실행 파일 생성하므로) | X |
언어 | C, C++, JAVA | Python, JavaScript |
스몰토크, 자바, 마이크로소프트 공통 중간 언어(CIL) 등의 컴파일러는 가상 머신의 바이트코드를 출력한다. 그러나 가상 머신은 플랫폼의 기계어에 비해 속도가 느릴 수밖에 없으므로 이들 가상 머신에는 저스트 인 타임 컴파일러가 탑재되어 실행 직전에 현재 플랫폼의 기계어로 다시 한 번 컴파일되어 속도를 향상시킨다.
https://nuritech.tistory.com/2
https://opentutorials.org/course/2471/13906