컴파일러와 인터프리터

cuckoo·2022년 10월 3일
0

다양한 애플리케이션

  • 애플리케이션: 사용자가 직접 사용하는 프로그램

애플리케이션을 만드는 프로그램

  • 애플리케이션을 만들어 주는 소프트웨어는 크게 두 종류로 나눌 수 있습니다. 들어보셨을 수도 있는데요, 바로 컴파일러인터프리터 입니다.

프로그램밍 언어의 번역기, 컴파일러

  • 고급언어 → Compiler → 머신코드
  • 컴파일러의 단점
    • 머신코드는 사람이 이해할 수 없다.
    • 코드 수정 할 때 마다 컴파일링을 해줘야 함.
    • 컴파일링하는데 시간이 걸려서 빠르게 개발 할 수 없음.

실시간 코드 실행기, 인터프리터

  • 컴파일러에 비해 개발 속도가 빠르다.
  • 컴파일러에 비해 프로그램 용량이 적다.
  • 인터프리터의 단점
    • 사용자 컴퓨터에 인터프리터가 작동해서 실행 속도가 느리다.
    • 코드가 유출될 가능성 있음.

컴파일러 vs 인터프리터

컴파일러인터프리터
개발 편의성코드를 수정하고 실행하려면 컴파일을 다시 해야 한다.코드를 수정하고 즉시 실행할 수 있다.
실행 속도빠르다.느리다.
보안프로그램의 코드가 유출되지 않는다.프로그램의 코드가 유출될 수 있다.
파일 용량프로그램의 실행 파일 전체를 전송해야 하므로, 용량이 크다.프로그램의 코드만 전송하면 실행이 되므로, 용량이 작다.
프로그래밍 언어C,C++처럼 비교적 저수준에 가까운언어Python, Ruby처럼 비교적 고수준에 가까운 언어

꿀팀 노트 : 첫 번째 컴파일러는 어떻게 만들었을까요?

  • 첫 번째 컴파일러를 만들 때는 컴파일러가 없었을 텐데, 어떻게 이 컴파일러 프로그램을 번역해서 실행할 수 있었을까요?
  • 정답은 "번역을 하지 않고 컴퓨터의 언어로 사람이 직접 작성했다.” 입니다.
profile
ENTJ 데이터 분석가 준비중입니다:)

0개의 댓글