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

리리티·2022년 10월 17일
0

BUild

컴퓨터는 결론적으로 0과 1만 읽을 수있기 때문에 우리가 작성한 고급언어를 통한 코드는 컴퓨터가 이해할 수 있게 번역을 해주어야 한다.
컴퓨터가 이해 가능한 언어로 바꾸는 과정을 빌드라고 한다.

컴파일 언어

컴파일러는 내가 작성한 고급 언어로 작성 된 소스 코드를 저급 언어(기계 언어)로 번역하는 프로그램을 가리킨다.
여기서 고급 언어는 C, C++, C#, Go가 컴파일 언어에 속한다

특징

  • 빌드가 완료된 실행파일은 실행의 속도가 빠르다.
  • 컴파일 이후로 모든 코드가 기계어로 변환되어 있기에 실행 시간이 빠르다.

단점

  • 프로그램의 디버깅과 수정이 필요할때 빌드과정을 처음부터 다시 시작하기 때문에 대규모 프로그램의 개발에서 생산성ㅌ이 떨어진다.
  • 각각의 플랫폼에 의존적이다.

윈도우의 실행파일을 맥OS에서는 실행하지 못하는 것처럼 모든 플랫폼이 완전히 같지 않으므로 플랫폼에 대해 의존적일 수 밖에 없다.

인터프리터 언어

소스 코드를 한번에 기계어로 변환하는 컴파일러와 달리 코드를 한 줄 씩 읽으며 변역하면서 실행하는 방식의 언어이다.

특징

  • 빌드 과정없이 바로 실행 가능하다.
  • 컴파일러 과정이 없기 때문에 수정과 디버깅에 유리
  • 각 플랫폼에서 지원하는 인터프리터만 있다면 실행 가능하기 때문에 플랫폼에 대해서 독립적이다.

단점

  • 실행파일을 별도로 생성하지 않기 떄문에 실행할때마다 인터프리터 과정이 반복 수행되어 실행 속도가 느리다.
    • 다만 요즘 하드웨어 스펙이 높아짐에 따라 실행 속도가 비슷해지고 있다.
  • 코드를 보면 어떤 기능을 하는지 알수 있기 때문에 프로그램의 코드가 유출될 수 있다.

인터프리터 언어 종류
Python, Javascript, Ruby등

profile
remind

0개의 댓글