새소식

데이터분석/첫째주

프로그램 실행 : 컴파일러 VS 인터프리터

  • -
728x90

 

프로그램 & 프로그래밍 언어

프로그래밍 언어는 컴퓨터와 의사소통할 수 있도록 컴퓨터에 내리는 명령이다.

프로그램은 인스트럭션(Instruction)이라는 흔히 말하는 명령어로 쓰여져 있으며, 컴퓨터는 이러한 명령어를 논리적 순서에 따라 수행한다. 이러한 명령어는 2진수 형태의 기계어로 쓰여있기 때문에 인간이 이해하기 힘들다.

이 문제를 해결하기 위해서 인간도 쓰기 쉽고 컴퓨터도 기계어로 해석할 수 있는 프로그래밍 언어(Programming Language)를 개발하여 사용하게 된 것이다.​

 

프로그래밍 언어로 프로그램을 작성하는 것을 코딩(Coding)이라고 하며, 코딩이 끝나면 고급 언어로 작성된 명령문을 기계어로 바꾸는 컴파일 단계에 들어간다. 컴파일은 프로그래밍 언어의 성격에 따라 컴파일러를 이용한 방식과 인터프리터를 이용한 방식으로 나누어지며, 두 방식을 혼합한 하이브리드 방식 또한 존재한다.

 

 

  컴파일러     

  • 작성한 코드를 컴퓨터가 이해할 수 있는 기계어로 바꿈.
  • 컴파일러가 소스파일을 컴파일을 하면서 실행파일(예, *.class)을 생성한다.
  • 컴파일 언어는 소스 전체를 실행파일로 만든 후 기계에서 실행한다.
    (번역과 같음/ 예, C/C++,java)
【 소스파일(*.py 등) 】   -▷  컴파일   -▷  【 기계어(1001 0011 ..) 】   -▷  기계(PC)에서 실행

 

 

  인터프린터     

  • 컴파일러와 달리 실행파일을 만들지 않고, 실행이 필요할 때 기계어로 변환한다.
  • 인터프리터 언어는 필요한 소스 코드만 그때 그때 실행한다.
    (동시 번역과 같음/ 예, python)
【 소스파일(*.py 등) 】   - 기계(PC)에서 실행 ( 기계어(1001 0011 ..) )

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.