티스토리 뷰
인터프리터란 단어를 들어보셨나요
결론에 가까운 단어뜻부터 알아보면, 인터프리터란 통역사를 의미합니다.
컴퓨터로 프로그램을 실행하는 방법 중 하나이기도 하구요.
소스 코드를 1명령씩 해석해 실행하는 프로그램을 가리킵니다.
프로그래밍 언어로 쓰여진 소스코드를 기계어 프로그램(오브젝트 프로그램)으로 해석 변환하면서 처리 실행합니다.
대표적인 프로그래밍 언어로는 베이직(BASIC), Lisp, 자바스크립트(JavaScript), Python, Ruby 등이 있습니다.
프로그램을 1명령씩 변환해 실행하기 때문에, 움직임을 확인하면서 코드를 기술하거나 에러가 발생한 부분을 곧바로 특정하거나 할 수 있습니다.
또, 프로그램 실행시에 소스코드를 기계어로 변환하는 구조만 있으면, 어느 플랫폼에서도 동작한다.반면 한 줄만 코드를 읽고 번역하고 실행합니다.
실행이 끝나면 다음 행을 읽는다'와 같이 한 줄씩 동작하기 때문에 프로그램의 실행은 늦어집니다.
프로그램을 실행하는 방법에는, interpreter 외에, 전부 번역하고 나서 실행하는 "컴파일러"가 있습니다.
소스코드를 사전에 일괄 변환한 후 실행하는 방법입니다.
대표적인 프로그래밍 언어로는 C, C++, COBOL, FORTRAN 등이 있습니다.
변환 자체에는 시간이 걸리지만, 프로그램의 실행 속도는 interpreter에 비해 훨씬 빠릅니다.
단, 소스코드를 플랫폼에 맞게 변경하고 다시 컴파일해야 합니다.
또 버그가 발생할 경우 원인 규명에 시간이 걸립니다.
인터프리터와 컴파일러의 특징을 겸비한 언어에 "Java"가 있습니다.
자바는 프로그램 코드를 사전에 중간적인 코드인 바이트 코드로 변환하여 가상 머신의 기계어로 번역하여 가상 머신 상에서 실행합니다.
가상 머신만 있으면, 어디에서나 똑같이 동작하기 때문에, 어느 플랫폼상에서도 실행 가능합니다.