바닥코딩
컴파일 언어 vs 인터프리터 언어 본문
컴파일 언어
개발을 하거나 공부를 하답면 다들 컴파일이라는 말을 많이 들어 봤을 것입니다 컴파일은 사전적인 의미로는 프로그밍 언어로 작성된 문서를 다른 프로그래밍 언어로 바꾸는 과정이라는 뜻을 가지고 있습니다. 어렵게 생각하지 말고 쉽게 생각해 프로그래밍 언어로 작성된 코드를 기계가 이해할 수 있는 코드로 전환해주는 과정을 말합니다 . 우리가 많이 얘기하는 컴파일러 ( ex) visual studio , eclipse ) 는 이 컴파일을 진행해주는 프로그램 입니다.
컴파일은 위와 같은 과정을 거쳐 이루어 집니다. 코드를 작성한 다음 이것을 컴파일 시키면 컴퓨터가 이해할 수 있는 언어의 형식으로 번역을 해줍니다 쉽게 생각해 구글 번역기와 같이 문서를 번역해준다고 생각하면 됩니다.
대표적으로 c/c++, c#, java 등등이 컴파일 언어에 해당합니다
인터프리터 언어
인터프리터 언어는 컴파일 과는 조금 다른 개념입니다 컴퓨터가 프로그래밍 언어를 이해할 수 있도록해주는 과정이 존재하지만 컴파일이라는 개념이 없고, 각 라인별로 해석을 하며 동시해 코드를 실행 시킵니다
위와 같은 과정으로 인터프리터 언어는 진행이 됩니다. 컴파일 언어를 문서 전체를 번역한 구글 번역기에 비교 했다면 인터프리터 방식은 동시통역과 비교할 수 있습니다
인터프리터 방식 언어는 대표적으로 파이썬, sql 또 해당 카테고리에서 주로 다룰 자바스크립트가 여기에 해당합니다
컴파일 과 인터프리터 방식 비교
먼저 결론부터 말하자면 어떤 언어 방식이 더 좋다 이런 것은 존재하지 않습니다. 방식이 중요 한것이 아니라 각 방식은 서로 위에서 설명한 특징들을 가지고 있고 개발에 따라 어떠한 특징이 더 좋은지를 개발자가 선택하여 개발하는 것이 중요합니다.
특징을 정리해 보자면 아래와 같습니다.
- 인터프리터언어
- 컴파일이 없기 때문에, 별도의 컴파일시간이 없습니다.
- 따라서, 크기가 큰 소스코드의 경우 컴파일 시간이 오래 걸릴 수 있는데 인터프리터 언어의 경우 바로 실행이 가능합니다. - 컴파일 언어
- 컴파일된 프로그램의 경우 일반적으로, 인터프리터를 이용해 실행시키는 것보다 훨씬 빠르게 동작합니다.
'JavaScript > vanilla js' 카테고리의 다른 글
클로저 (0) | 2021.03.15 |
---|---|
자바스크립트 스코프(scope) (0) | 2020.07.25 |
var, let, const (0) | 2020.07.12 |
바닐라 JS란 무엇인가 (2) | 2020.06.06 |
자바 스크립트 (0) | 2020.05.25 |