인터프리터 언어(스크립트 언어)
: 기계어로 바로 번역하지 않고 대충 중간 형태로 만든 다음 코드를 한 줄씩 읽어서 실행하는 언어. 컴파일 단계가 따로 없어서 컴파일 시간(번역 시간)이 소요되진 않지만 실행할 때마다 과정을 반복적으로 하여 실행 속도가 느리다.
컴파일러 언어
: 모든 코드를 한 번에 컴파일(번역) 한다. 그래서 컴파일 시간이 좀 걸릴 수 있어도 실행 속도는 빠르다.
컴파일
개발자가 작성한 코드가 기계어로 바뀌어 실행 가능한 프로그램이 되는 과정
정적 타입 언어는 이 단계에서 오류를 발견한다.
런타임
컴파일 된 프로그램을 사용자가 실행하는 과정
동적 타입 언어는 이 단계에서 오류를 발견한다.
오류를 발견하는 과정을 지켜보면 정적 다입의 언어가 동적 타입 언어보다 빨리 오류를 발견한다. 그리고 프로그램이 실행된 후에 발견된 오류는 이전에 발견된 오류보다(컴파일 오류) 찾기가 쉽지 않다.