반응형
컴파일러와 인터프리터는 고급언어(ex. 사람의 언어)로 작성된 원시프로그램을 목적프로그램으로 번역하는 번역 프로그램이며, 프로그램 번역 방식에 따라 나뉘어진다.
컴파일러란?
1. 고급언어로 작성된 프로그램 전체를 목적 프로그램으로 번역 한 후 링킹작업을 통해 컴퓨터에서 실행가능한 실행 프로그램을 생성
2. 번역 실행 과정을 거쳐야하기때문에 번역과정이 번거롭고 시간이 오래걸리지만, 번역 후에는 다시 번역하지 않으므로 실행 속도가 빠름
3. C언어, JAVA가 대표적인 예
인터프리터란?
1. 고급언어로 작성된 프로그램을 한 줄 단위로 번역하고, 번역과 동시에 실행을 시키는 프로그램
2. 프로그램이 직접 실행되므로 목적 프로그램은 생성되지 않음
3. 줄 단위로 번역, 실행되기 때문에 시분할 시스템에 유용, 원시 프로그램의 변화에 대한 반응이 빠름
4. 번역 속도는 빠르지만 프로그램 실행시 매번 번역하므로 실행속도는 느림
5. JavaScript, Python이 대표적인 예
6. CPU사용 시간의 낭비가 큼
컴파일러 | 인터프리터 | |
번역단위 | 전체 | 줄 |
목적프로그램 | 생성 | 생성x |
실행속도 | 빠름 | 느림 |
번역속도 | 느림 | 빠름 |
관련언어 | C, JAVA | Javascript, Python |
* 원시프로그램 => 고급언어나 어셈블리어로 작성된 프로그램
* 목적프로그램 => 고급언어에서 기계어나 다른 저급언어로 번역된 프로그램
* 고급언어 => 사람이 이해하기 쉽게 만들어진 프로그램언어
* 저급언어 => 문법구조가 기계가 이해하기 쉽게 만들어진 프로그램 언어
반응형
'CS지식' 카테고리의 다른 글
2021년 2회차 합격률 30%대 비전공자가 정보처리기사 독학으로 필기 합격한 후기 / 공부방법 / 실기접수 (0) | 2022.06.20 |
---|---|
#개발공부 : 리액트에서 key를 쓰는 이유/필요한 이유? (0) | 2022.06.07 |
[노개북챌린지] CleanCode TIL 3장 함수 (0) | 2022.02.22 |
[노개북챌린지] CleanCode TIL 복습 / 최애 TIL (0) | 2022.02.21 |
[노개북챌린지] CleanCode TIL 2장 의미 있는 이름 (0) | 2022.02.21 |