오늘은 컴파일 언어와 인터프리터 언어에 대해서 알아보자.
먼저 다음 그림을 보자!
컴파일 언어는 다음과 같은 순서로 동작한다.
컴퓨터 수행시 먼저 프로그램이 수행할 컴퓨터의 목적 코드로 번역되어야 하는 언어를 말한다.
인터프리터 언어는 다음과 같은 순서로 동작한다.
위에서 보면 컴파일 언어, 인터프리터 언어에 Java가 속한다는 것을 알 수 있다.
엥? 둘이 상반된 개념아냐? 혼용이 가능해?
가능하다.
자바 언어의 실행과정을 보자.
".java" 파일을 컴파일한다. 컴파일된 파일은 ".class"이다. 바이트 코드(16진수)로 이루어져 있다.
"*.class"를 실행한다. JVM도 실행되고, 바이트 코드를 2진 코드로 변환한다.
변환된 2진 코드를 운영체제에 넘겨준다.
운영체제는 CPU를 이용하여 2진 코드를 실행한다.
컴파일 언어의 단점인, 타 운영체제에서 실행이 되지 않는 문제를 보완하기 위함이다.
ex) 사용환경이 편리한 윈도우에서 프로그램을 작성하고, Linux나 Unix 서버에 올려서 실행한다.
각각의 컴퓨터에는 그 운영체제에 맞는 JRE(JVM이 포함되어있음)가 설치되어 있어야 한다.
Script 언어는 이미 존재하는 소프트웨어를 제어하기 위한 용도로 사용되는 언어이다.
살짝 논점에 벗어나는 개념이다!
한마디로 "승용차(인터프리터) vs 탱크(컴파일)" 경기인데, "소나타(스크립트)"가 등장한거다.
오늘은 뭔가 깔끔한 기분이다 ^^.
매일 이렇게 정리가 되었으면..