컴파일 언어
컴파일러를 거쳐서 머신 코드로 변경되고 실행.
ex ) C++
소스코드(cpp) -> 컴파일러 -> 머신코드(.exe) -> 실행
- 컴파일 언어는 실행하기 위해 중간 단계의 파일이 필요하다.
- 번역 과정이 번거롭고 오래걸리지만, 한번 번역한 후에는 다시 번역하지 않으므로
실행 속도가 빠르다.
인터프리터 언어(스크립트 언어)
코드를 작성하면 실행 준비가 완료되고, *인터프리터에 의해 머신 코드로 번역되는 동시에 실행.
ex)
소스 코드(스크립트) -> 인터프리터 -> 실행
- 스크립트 언어는 코드가 실행되기 전 까지 버그를 인지할 수 없기 때문에,
컴파일 언어보다 오류 발견 시점이 늦다.
- 문제 발생 시 디버깅이 까다롭다.
- 컴파일 언어보다 실행 속도가 늦기 때문에 실행 속도에 민감한 프로그램에서는
사용하지 않는다.
*인터프리터
- 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고,
번역과 동시에 프로그램을 한 줄 단위로 즉시 실행시키는 프로그램.
ex) Pythom , BASIC 등
구분 |
컴파일러 |
인터프리터 |
번역단위 |
전체 |
행(줄) |
목적 프로그램 |
생성함 |
생성하지 않음 |
실행속도 |
빠름 |
느림 |
번역속도 |
느림 |
빠름 |
관련언어 |
C, JAVA |
Python, BASIC, LISP, APL, SNOBOL |
'공부 > 개념 & 유용한 내용' 카테고리의 다른 글
렌더링 파이프 라인 (0) | 2020.07.07 |
---|---|
배열(Array) & 리스트(List) 차이 (0) | 2020.07.07 |
코루틴 & 쓰레드 차이점 (0) | 2020.07.02 |
데드락 & 해결 방법 (0) | 2020.07.01 |
쓰레드와 프로세스의 차이점 (0) | 2020.07.01 |