컴파일러 언어
1. 코드가 실행되기 전 단계인 컴파일 타임에 소스코드 전체를 한번에 머신 코드(CPU가 바로 실행할 수 있는 기계어)로 변환한 후 실행한다.
2. 실행 파일을 생성한다.
3. 컴파일 단계와 실행 단께가 분리되어 있다. 명시적인 컴파일 단계를 거치고, 명시적으로 실행 파일을 실행한다.
4. 실행에 앞서 컴파일은 단 한번 수행된다.
5. 컴파일과 실행 단계가 분리되어 있으므로 코드 실행 속도가 빠르다.
인터프리터 언어
1. 코드가 실행되는 단계인 런타임에 문 단위로 한줄씩 중간 코드인 바이트코드(특정한 하드웨어가 아니라 가상 머신에서 실행하도록 만든 바이너리 코드)로 변환한 후 실행한다.
2. 실행파일을 생성하지 않는다.
3. 인터프리트 단계와 실행 단계가 분리되어 있지 않다. 인터프리터는 한 줄씩 바이트코드로 변환하고 즉시 실행한다.
4. 코드가 실행될 때마다 인터프리트 과정이 반복 수행된다.
5. 인터프리트 단계와 실행 단계가 분리되어 있지 않고 반복 수행되므로 코드 실행 속도가 비교적 느리다.
자바스크립트 함수 (1) (0) | 2022.03.04 |
---|---|
원시 값과 객체의 비교 (0) | 2022.03.02 |
논리 연산자를 사용한 단축 평가 (0) | 2022.02.22 |
동적 타입 언어와 변수 (0) | 2022.02.17 |
React.useState() (0) | 2022.02.14 |
댓글 영역