Compiler와 Interpreter의 차이

역사

Assembly

  • 어셈블리언어 또는 어셈블러라고 불리는 이 언어는 특정 하드웨어에 명령을 할 수 있는 기계어와 1:1 매핑이 되어있어 하드웨어마다 다른 어셈블리어를 사용해야하는 불편함이 있었다.

Compiler

Interpreter

설명

  • 컴파일러와 인터프리터를 책 번역에 비교를 해보자.
    • 컴파일러: 책한권의 전체를 쭉 읽어보고 문제가 없으면 각 언어로 책전체를 번역해준다
    • 인터프리터: 책의 한줄 한줄을 읽어 독자의 언어로 번역해준다

장단점

| | Compiler | Interpreter | | ———– | ———————————————– | —————————— | | 실행속도 | 빠르다 | 느리다 | | 보안 | 기계어로 번역이 되어있기 때문에 노출되지 않는다 | 코드가 노출될 수 있다 | | 파일용량 | 용량이 크다(프로그램 실행파일이 필요) | 용량이 작다(소스코드만 필요) | | 개발 편의성 | 수정사항 발생 시 컴파일 재실행 | 수정사항 발생 시 코드만 재실행 |

Links

주석