프로그래밍 언어로 컴파일 언어와 스크립트 언어가 존재합니다.
우리가 작성한 코드들은 컴퓨터가 알아들을 수 있는 기계어로 번역을 해주어야 하는데요 이때 해당 번역 과정을 컴파일러가 한 경우와 인터프리터가 번역을 한경우로 나뉘는데요. 컴파일러로 번역을 한 경우 컴파일언어, 인터프린터가 번역을 한경우 스크립트언어라고 합니다.
컴파일 언어
컴파일 언어는 소스코드를 컴파일 해서 기계어를 읽어 실행시키는 언어입니다.
컴파일 언어의 특징
- 문법적 제약이 많아서 작성이 어렵다.
- 운영체제마다 사용하는 기계어가 다르다. 즉, 운영체제마다 작업을 다르게 해줘야한다.
- 기계어로 프로그램이 실행되어 프로그램 소스코드 유출이 어렵다.
- 컴파일 작업(번역 작업)은 시간이 걸리지만 이후에는 기계어를 읽는거라 실행속도가 빠르다.
스크립트 언어
스크립트 언어는 소스코드를 실행할때 기계어로 번역을 한 뒤 실행시키는 언어입니다.
스크립트 언어의 특징
- 컴파일 언어에 비해서 단순하고 쉬운 문법구조를 가진다
- 인터프리터 방식이라 한줄씩 읽어서 실행하기 때문에 번역속도가 빠르다.
(하지만 번역이 된채로 저장이 된게 아니라 매번 코드 번역을 해야해서 실행속도는 컴파일언어 보다 느리다.) - 컴파일과정이 없어 프로그램을 실행시켜야만 오류확인이 가능하다.
- 소프트웨어를 제어하는 언어에서 Node.js와 같은 런타임 환경이 등장하면서 독립적인 프로그램 개발도 가능해 졌다.
스크립트 언어 | 컴파일 언어 | |
번역 단위 | 행 | 전체 |
기계어 번역 속도 | 빠름 | 느림 |
실행 속도 | 느림 | 빠름 |
언어 | Javascript, python... | C, C++, Java ... |
'개발지식' 카테고리의 다른 글
오픈소스와 라이선스 (0) | 2024.02.14 |
---|---|
메모리 구조와 메모리 할당 (0) | 2024.01.22 |
동기와 비동기, 블로킹과 논블로킹 (0) | 2024.01.11 |
Authentication과 로그인 (0) | 2023.12.25 |
env 환경변수 (0) | 2023.12.25 |