kenzi

컴파일 언어? 인터프리터 언어? 본문

아주 기초적인 CS

컴파일 언어? 인터프리터 언어?

kenzi 2022. 3. 30. 22:39

 

 

컴파일언어

Compile

명령어를 번역하다 

- 번역과 실행이 따로 이루어지는 언어 

- 특정 프로그래밍 언어를 다른 프로그래밍 언어로 옮겨주는 컴파일(번역)과정을 거침

- 프로그래밍 언어로 소스코드 작성 => 컴파일(번역) => 실행 가능한 프로그램 생성(빌드과정) => 실행 

- 예시) C, C++, C#, Java

 

빌드과정이란? 

소스파일을 실행파일로 생성하는 과정

 

 

 

 

인터프리터 언어 

interpret

설명하다, 해석하다

- 번역과 실행이 동시에 이루어지는 언어

- 소스코드를 줄마다 읽으면서 실행

- 프로그래밍 언어로 소스코드 작성 => 해석과 동시에 실행 (별도의 실행 프로그램이 존재하지 않음=빌드과정 없음)

- 예시) JavaScript, HTML, ActionScript, SQL, pyhthon, ruby 

 

 

 

컴파일언어와 인터프리터 언어의 차이점 

1) 실행단계의 차이 

컴파일언어는 컴파일과정이 있지만 인터프리터는 컴파일과정 없음 

----> 그래서 2) 컴파일언어는 생산속도가 느리고 인터프리터 언어는 생산속도가 빠르다 

3) 컴파일언어는 문법의 제약사항이 더 많고 명확하게 적어야한다 

----> 그래서 4) 인터프리터 언어는 오류의 인지시점이 늦다 --> 왜? 실행되기전에는 모르니까 // 반대로 컴파일언어는 에러를 빨리 알아차릴수 있다 

5) 실행속도는 컴파일언어가 더 빠르다 ---왜? 컴파일한 뒤에 생성된 파일에 의해 실행하는게 번역기로 번역되고나서 실행되는거보다 빠르다 

 

 


항상 강사님이 자바로 수업할 때 컴파일에러는 안 났고 ~ 이렇게 말했는데 

이게 뭔 의미인지 잘 몰라서 엄청 궁금했는데 

소스코드 문법은 안 틀렸고~ 이 얘기였구나 

'아주 기초적인 CS' 카테고리의 다른 글

흑흑 이너조인 스칼라 서브쿼리  (0) 2022.04.21
JSTL 코어태그 forEach에서 varStatus란?  (0) 2022.04.14
JSTL (forEach)  (0) 2022.04.08
포트란 무엇인가?  (0) 2022.04.01
Comments