컴파일 언어: 반드시 기계어로 컴파일 되어야만 실행시킬 수 있는 언어
인터프리터 언어: 컴파일러를 거쳐 기계어로 변환되지 않고 바로 실행되는 언어
| 구분 | 컴파일 언어 | 인터프리터 언어 |
|---|---|---|
| 번역 | 컴파일러가 전체 번역 | 인터프리터가 한 줄씩 번역 (바이트 코드로 변환) |
| 속도 | 번역 속도🔽실행 속도🔼 | 번역 속도🔼실행 속도🔽 |
| 프로그램 저장 | Disk | ROM |
| 메모리 할당 | ⭕(목적 프로그램 생성) | ❌(즉시 실행) |
| 예시 | C, C++, C#, Java | Python, JavaScript, Ruby |
스크립트 언어는 응용프로그램을 제어하는 언어, 즉 언어의 사용처가 어플리케이션, SW인 언어를 말하는 것이다. 언어의 기계적 해석 방식의 차이로 컴파일 언어와 인터프리터 언어를 구분하는 것과는 다른 개념.
ex. JavaScript는 웹 브라우저 위에서 웹 브라우저를 제어하는 언어이므로 스크립트 언어이자, 인터프리터가 한 줄씩 번역해 실행하는 인터프리터 언어이다.