ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인터프리터와 컴파일러의 차이
    컴공지식/프로그래밍언어론 2024. 8. 31. 17:21

    인터프리터는 프로그램의 소스 코드를 한 줄씩 읽고, 이를 즉시 실행하여 결과를 출력한다.

    프로그램 전체를 한 번에 번역하는 대신, 한 줄씩 해석하면서 실행하기 때문에 실행 속도가 느릴 수 있지만, 코드 작성 후 빠르게 테스트할 수 있다는 장점이 있다.

     

    예시

    bash: 셸 스크립트를 실행할 때 사용되는 인터프리터

    python: 파이썬 언어로 작성된 코드를 한 줄씩 실행

    scala: Scala도 인터프리터 방식으로 실행할 수 있다. 

    Search engine (Google, Naver,...): 검색 엔진도 일종의 인터프리터로 볼 수 있는데, 사용자가 입력한 검색어를 해석하고 이에 맞는 결과를 즉시 반환하기 때문이다. 이 부분은 약간의 비유적인 표현이다.

     

    컴파일러는 프로그램의 소스 코드를 한 번에 읽어들여, 이를 기계어로 변환한 후 바이너리 파일을 생성한다.

    이 파일은 나중에 별도의 실행 단계에서 바로 실행할 수 있다.

    컴파일 과정은 시간이 걸리지만, 한 번 컴파일된 프로그램은 실행 속도가 빠르다.

     

    예시

    gcc: C 언어 프로그램을 컴파일하여 실행 파일을 생성

    javac: 자바 프로그램을 컴파일하여 바이트코드(.class 파일)를 생성

    scalac: Scala 프로그램을 컴파일하여 바이트코드를 생성, 이 바이트코드는 JVM(Java Virtual Machine)에서 실행된다.

     

    정리하자면

    인터프리터는 코드를 한 줄씩 즉시 실행하는 반면, 컴파일러는 프로그램 전체를 한 번에 번역하여 실행 가능한 파일로 변환한다.

    Scala는 인터프리터와 컴파일러 둘 다 사용할 수 있는 언어로, 간단한 테스트나 실습에는 인터프리터를, 실제 배포할 프로그램에는 컴파일러를 사용하는 경우가 많다.

     

     

     

     

     

    '컴공지식 > 프로그래밍언어론' 카테고리의 다른 글

    패턴 매칭 vs if-else 절  (0) 2024.08.31
    스칼라의 패턴 매칭  (0) 2024.08.31
    스칼라에서 타입을 정의하는 방법  (0) 2024.08.31
    Scalar의 assert  (0) 2024.08.31
    스칼라에서 함수 정의하는 방법  (0) 2024.08.31
Designed by Tistory.