TypeScript
인터프리터 언어, 컴파일 언어
김귤🐵
2023. 5. 29. 19:54
인터프리터 언어와 컴파일 언어는 실행방식에 관련된 개념
동적 언어와 정적 언어는 변수의 타입 시스템과 관련된 개념
1.인터프리터 언어
소스코드를 한 줄씩 읽고 해석하여 동시에 실행하는 프로그래밍 언어이다.
소스코드는 인터프리터에 의해 바로 실행되며, 별도의 컴파일 단계가 없다.
Python,JavaScript,Ruby,PHP 등
특징
😇컴파일 과정이 없으므로 간단하고 빠른 개발과 디버깅이 가능하다.
💀소스 코드가 직접 실행되기 때문에 코드의 보안이 취약할 수 있다.
💀한 줄씩 해석하고 실행하므로 컴파일 언어에 비해 실행 속도가 느릴 수 있다.
동적 타입 언어의 특징
- 변수의 타입이 런타임에 결정된다.
- 변수를 선언할 때 타입을 명시적으로 선언하지 않고 할당되는 값에 따라 동적으로 타입이 결정된다.
- 변수의 타입을 자유롭게 변경할 수 있으며 다양한 유형의 값을 저장할 수 있다.
2.컴파일 언어
소스코드를 기계어로 변환하는 과정을 거친 후 실행하는 프로그래밍 언어이다.
컴파일러를 통해 컴파일 타임에 전체 소스코드를 분석하고, 기계어로 번역하여 실행파일을 생성한다.
C,C#,C++,JAVA 등
특징
😇타입의 안정성 : 정적 타입을 가지고 있어 변수의 타입을 명시적으로 선언할 수 있다.
😇빠른 실행 : 컴파일과 실행 단계가 분리되어 있기 때문에 실행시에는 실행만 하면 되므로 코드의 실행 속도가 빠르다.
💀개발 및 디버깅 시간: 소스코드 작성후 컴파일 과정을 거쳐야 하므로 개발과 디버깅에 시간이 걸린다.
정적 언어 타입의 특징
- 변수의 타입이 컴파일 과정에 결정된다.
- 변수의 타입을 명시적으로 선언해야한다.
- 컴파일러는 변수의 타입을 검사하고 오류를 포착하여 개발초기 안정성을 높인다.