-
컴파일 언어(Compile Language) VS 인터프리터 언어(Interpreter Language)Computer Science 2022. 11. 5. 12:07
컴파일(Compile) 언어
- 소스 코드를 기계어로 한 번에 컴파일(Compile time) 한 후에 실행파일 만들고 실행(Runtime)
- ex) C, C++, C#, Java
컴파일(Compile)과정 cf.빌드(build)
- 컴퓨터에서 이해할 수 있는, 즉 실행 가능한 파일로 만드는 과정
- 우리가 만든 소스코드를 '빌드'하면 실행 파일을 얻는다
- 실행파일은 CPU가 읽을 수 있는 이진코드인 기계어(Machine Code)로 이루어져 있다
장점 단점 - 이미 기계어로 번역된 파일을 컴퓨터가 실행하므로 스크립트 언어에 비해 실생 속도가 빠르다
- 소스코드에 문법적 오류가 있으면 컴파일 에러를 발생시켜 디버깅이 수월(실행전)- 규모가 큰 프로그램은 컴파일 시 오래걸린다
- 일반적으로 문법적 제약이 많아 작성이 비교적 어렵다
- 운영체제마다 컴파일을 실행시키는 방식이 다르기 때문에 운영체제마다 다른 컴파일 실행 파일을 빌드해야 한다인터프리터(Interpreter)언어
- 소스 코드를 한번에 컴파일 하지 않고, 인퍼트리터로 소스코드를 한줄씩 기계로어로 번역하면서 실행(Runtime)
- ex) R, Python, Ruby
인터프리터(Interpreter)과정 장점 단점 - 문법 적 제약이 비교적 적어 작성이 비교적 쉽다
- 컴파일과정 없이 바로 실행하기 때문에 수정, 디버깅에 유리
(즉, 개발속도가 빠르다)
- 각 플랫폼에 지원하는 인터프리터만 있다면 실행 가능하기 때문에 플랫폼에 독립적
- 실행하는 과정에서 소스 코드를 기계어로 번역하는 과정이 포함되어 있으므로 컴파일 언어에 비해 느리다
- 문법적 오류가 있든 없든 일단 실행되기 때문에 디버깅이 비교적 어렵다(실행을 하고 나서야 오류를 알 수 있다)Summary
# 컴파일 언어
- 실행 전 소스코드를 컴파일하여 기계어로 변환 후 해당 파일을 실행
- 이미 기계어로 변환된 것을 실행하므로 비교적 빠름
- 문법적 제약이 일반적으로 많음
- 운영체제에 따라 다르게 작업해야 함# 인터프리터(스크립트)언어
- 코드를 작성함과 동시에 인터프리터가 기계어로 번역하고 실행함
- 실행 과정 상에 번역 과정이 있어 비교적 느림
- 문법적 제약이 일반적으로 적음
- 운영체제를 신경 쓸 필요 없이 한 번만 작성하면 됨출처
https://aeroej.tistory.com/138
'Computer Science' 카테고리의 다른 글
CMD명령어모음 (0) 2022.12.11 컴파일러(Compiler) (1) 2022.11.05 Bit & Bite (0) 2022.10.24 인터페이스(Interface) (0) 2022.10.23 하드웨어 VS 소프트웨어 (0) 2022.10.23