컴파일 언어 인터프리터 언어
컴파일 언어
특징
전체 소스 코드를 변환함
소스 코드 전체 → 저급언어로 변환(컴파일)
컴파일 언어
C, C++
컴파일러
소스 코드를 처음부터 끝까지 읽으며 문법 오류 및 실행 가능 여부 판독
목적 코드
컴파일이 성공시
저급 언어로 변환된 실행 파일이 생성
장단
장
컴파일 후 생성된 실행 파일이 기계어
실행 속도가 빠르다.
단
전체 소스 코드를 변환하므로 컴파일 시간이 길어짐.
소스 코드 내 오류가 있는 경우 전체가 실행되지 않는다.
인터프리터 언어
특징
한 줄 씩 실행
소스 코드를 한 줄씩 읽어서 해석한다
언어
파이썬, 루비 등
인터프리터
소스 코드를 실행 시점에 한 줄 씩 해석하고 실행
코드 중 일부에 오류가 있어도 이전 코드는 실행
장단
장
소스 코드 전체 미리 변환안해도 됨
개발 중 빠른 테스트와 디버깅 용이
단
매 실행 시 마다 한줄 씩 해석
전체 실행 속도는 컴파일 언어에 비해 느리다.
경계 모호성
혼합 방식
현대 언어는 컴파일과 인터프리터 방식을 동시에 사용하는 경우가 많음
파이썬은 내부적으로 컴파일
자바는 컴파일 후 VM 에서 인터프리트 방식으로 실행