˙Interpreter와 Compiler
컴퓨터 구조에 따라서 사용하는 기계어로 변환하기 위한 방식으로, Interpreter(인터프리터)와 Compiler(컴파일러)가 존재한다. 기계어는 우리가 흔히 알고 있는 이진수(0과 1)로 이루어져 있으며, 다양한 방식으로 결합하여 여러가지 형태의 문자를 나타낼 수 있다.
˙인터프리터 : Interpreter
프로그램 실행 시 한 문장(코드) 단위 씩 해석하여 처리 및 실행하는 방식으로, 번역과 실행을 동시에 처리한다. 실행시 마다 한 문장(코드) 단위 씩 기계어로 번역하여 바로 처리 되기 때문에, 별도의 실행파일을 생성하지 않는다. 따라서, 컴파일*(처리 및 생산 등) 속도는 매우 빠르지만, 실행되는 속도는 느리다. 또한, 오류가 발생할 만한 코드가 있다면, 해당 부분을 보완하고 다시 실행 할 수 있다는 장점이 있기 때문에 개발 편의성 측면에서는 매우 효율적이다. 사용되는 언어로는 Python, JavaScript 등이 존재한다.
˙컴파일러 : Compiler
프로그램 실행 시 파일 전체 단위 씩 해석하여 처리 및 실행하는 방식으로, 번역(컴파일)을 모두 진행 한 후에 실행 과정을 처리할 수 있다. 실행 시 파일 전체 단위를 번역한 이후에 처리 동작이 진행되기 때문에, 별도의 실행 파일을 생성한다. 따라서, 컴파일(처리 및 생산 등) 속도는 느리지만, 실행되는 속도는 매우 빠르다. 앞서 말한 Interpreter와는 다르게, 파일 전체를 컴파일 한 이후에 실행되기 때문에, 오류 코드 등으로 인하여 수정 작업이 필요할 시에는 실시간으로 적용하지 못하고 재 컴파일 작업이 필요하다. 사용되는 언어로는 JAVA, C언어 등이 존재한다.
* 컴파일 : 주어진 언어로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로그램으로 변환하는 작업으로, 흔히 빌드라고도 말함
'끄적대기' 카테고리의 다른 글
Procedure vs Trigger (0) | 2024.06.24 |
---|---|
JavaScript 함수 정의 및 종류 (0) | 2022.08.03 |
CI/CD : 지속적 통합과 지속적 제공 (0) | 2022.05.16 |
데이터베이스 정규화와 비정규화 (0) | 2022.04.19 |
데이터베이스 ETL : Extract Transform Load (0) | 2022.04.18 |