언어 번역기 비교

0

컴파일(Compile)

한 언어로 작성된 소스 코드를 다른 언어로 변환하는 것

트랜스파일 (Transpile)

한 언어로 작성된 소스 코드를 비슷한 수준의 추상화를 가진 다른 언어로 변환 하는 것

  • 타입스크립트를 자바스크립트로 컴파일 하는 것 역시 트랜스파일링이다.

인터프리터 (Interpreter)

사람이 알아보기 쉬운 프로그래밍 언어로 작성한 코드를 한줄씩 즉시 기계어로 번역하는 번역기

  • 즉각적인 번역에 특화되어 번역 속도가 빠르다
  • 하지만, 단점으로 한 줄 작성하고 엔터칠때마다 새롭게 번역을 하다보니 프로그램을 매번 실행하기에는 느림

컴파일러와 인터프리터

📌 컴파일러(Compiler)

  • 전체 파일을 스캔하여 한꺼번에 번역
  • 초기 스캔시간이 오래 걸려도 한번 실행 파일이 만들어지고 나면 빠르다
  • 기계어 번역과정에서 많은 메모리를 사용
  • 전체 코드를 스캔하는 과정에서 모든 오류를 한꺼번에 출력해주기 때문에 실행 전에 오류를 알 수 있음

📌 인터프리터(Interpreter)

  • 프로그램 실행시 한 번에 한 문장씩 번역한다.
  • 한번에 한문장씩 번역후 실행 시키기 때문에 실행 시간이 느리다.
  • 컴파일러와 같은 오브젝트 코드 생성과정이 없기 때문에 메모리 효율이 좋음
  • 프로그램을 실행시키고 나서 오류를 발견하면 바로 실행을 중지 시킨다. 실행 후에 오류를 알 수 있기 때문에 사용성이 문제가 될수 있음

1개의 댓글

comment-user-thumbnail
2023년 7월 28일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기