반응형
✅ 프로그래밍언어
컴퓨터 프로그램을 작성하는데 사용되는 형식적인 언어
✅ 컴파일언어 & 스크립트(인터프리터)언어
**컴파일 : 코드를 컴퓨터언어인 0과 1로 번역
컴파일언어(Compiled language)
작성한 코드를 모두 기계어로 변환한 후에 기계어 코드로 실행하는 방식
- 실시간이 아니다! 영어원서를 한국어로 해석한 파일을 받는 것, 중간 통역자가 없어
- 만약 영어단어가 한국어에 없다, 번역가는 단어를 바꾸라고 요청함 - 에러상황
- 즉 컴파일전에 에러를 수정하기 때문에 하고 나면 거기에 에러가 없는 것
- 컴파일 언어로 작성된 프로그램은 런타임 시간에 기계어로 직접 실행됌, 실행속도가 빠름
- Java, C++, C, Rust, Go etc ..
인터프리터언어(Interpreted language)
작성한 코드를 기계어로 변환하는 과정 없이 한 줄 한 줄 해석하여 실행하는 방식
- 소스코드를 런타임에 한줄 씩 읽어서 실행하는 인터프리터 사용
- 실시간이다! 동시통역사를 떠올려보자
- 동시통역사가 영어단어를 모르는 상황 - 에러상황
- 실시간으로 통역이 이뤄지기때문에 문제가 터지기 전까지 에러를 해결할 수 없는 치명적 단점이 있다
- JavaScript, HTML, Python etc ..
즉 그림으로 보면 아래와 같다.
✅ 컴파일언어 & 스크립트(인터프리터)언어의 장단점 비교
- 생산속도 : 컴파일 언어(컴파일링 과정) < 인터프리터언어
- 제약사항 : 컴파일 언어(소스코드작성을 위한 제약사항 多) < 인터프리터언어
- 디버깅 : 컴파일 언어 > 인터프리터언어 (소스코드 실행전까지 오류인지 시점 늦음)
- 실행속도 : 컴파일언어 > 인터프리터언어
**참고
반응형
'필수 개발지식' 카테고리의 다른 글
정규표현식(Regular Expression, Regex) 이란? (0) | 2023.08.01 |
---|