개발지식공간

Compile언어와 Interpreter언어

이진유진 2024. 1. 12. 11:24
반응형
지난번 velog를 이전할 때, 기존 velog 글이 너무 길어 나눠서 쓰려고 한다. 
java 이전기록과 이어진다.

 

본 글 링크 - https://velog.io/@yujin-17/TIL-07.-Java

 

<TIL> 07. Java

*객체지향 언어(객체지향 언어의 중심에는 Class가 존재) -> Java는 클래스 없이 개발 불가능. 개발의 시작과 끝 모두 클래스에서 시작하고 클래스에서 끝난다.

velog.io

Compile 언어

  • 소스파일 전체를 컴파일 후, 기계어를 CPU와 Memory를 통해 읽어 바로 실행하는 방식으로 동작한다. 
  • 종류 : C, C++, Java, C#
  • 특징 
    • 소스파일의 크기가 커질수록 컴파일 과정이 오래 걸린다. 
    • 컴파일이 된 후에 기계어로 바로 실행이 되어 실행속도가 빠르다. 
    • java는 javac에 의하여 바이트코드로 실행되지만, JVM에서는 Interpreter로 실행하여, 컴파일 언어지만, 인터프리터 언어의 특징을 동시에 가지고 있다. 

Interpreter 언어

  • 소스파일을 컴파일 하지 않고, Interpreter를 사용해 소스파일을 한 줄씩 번역하면서 실행하는 방식으로 동작한다. 
  • Interpreter :  소스코드를 바로 번역해 실행하는 프로그램이나 환경을 뜻한다. 
  • 종류 : JavaScript, Ruby, Python
  • 특징
    • 컴파일 언어처럼 별도의 목적파일이 존재하지 않는다. 
    • 컴파일 과정 없이 바로 실행이 되어, 수정 및 디버깅시 편하다는 장점이 있다. 
    • Interpreter만 존재하면, 어디서든지 실행 가능하여 자유롭고 독립적이다. 
    • 실시간으로 번역되면서 실행되어 실행속도는 느리다. 
반응형