컴파일 언어와 인터프리터 언어?

2024. 8. 7. 00:42· CS 지식

컴파일러와 인터프리터는 프로그래밍 언어로 작성된 코드를 컴퓨터가 이해할 수 있는 기계어(0, 1)로 변환하는 과정에 관여하는 프로그램이다.

 

컴파일러

- 소스 코드 전체를 읽어 한 번에 기계어로 변환한다.

- 변환 과정을 거친 후, 생성된 기계어 코드를 실행한다.

- 컴파일 과정 자체에 소요되는 시간이 있지만, 변환된 코드는 직접 실행되므로 실행 시간은 빠르다.

- C, Go, Rust 등이 컴파일러 언어이다.

 

인터프리터

- 코드를 한 줄씩 읽어가며 바로바로 기계어로 변환하고 실행한다.

- 컴파일 단계가 없으므로 초기에는 빠르지만, 전체 코드 실행 시간은 오히려 컴파일 언어보다 느릴 수 있다. 코드를 실행할 때마다 기계어로 변환하는 과정이 필요하기 때문이다.

- Python이 인터프리터 언어이다.

 

JIT 컴파일러

- 컴파일러와 인터프리터의 중간 형태이다.

- 실행 시점에 코드를 분석하여 어떤 부분이 가장 자주 실행되는지 판단한다.

- 동적 컴파일: 분석 결과에 기반하여, 자주 실행되는 코드만을 선별적으로 기계어로 변환한다. 이는 프로그램 실행 중에 실시간으로 이루어진다.

- 최적화: 컴파일 과정에서 다양한 최적화 기법을 적용한다.

- 자주 사용되는 코드(hot code)의 실행 속도가 크게 향상되는 장점이 있으나 컴파일된 코드를 메모리에 저장해 캐싱하기 때문에 인터프리터 방식에 비해 더 많은 메모리를 사용한다는 단점이 있다.

- JVM, .NET, V8(node.js) 등이 있다.

 

 

출처

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조 - 큰돌

https://www.inflearn.com/course/%EA%B0%9C%EB%B0%9C%EC%9E%90-%EB%A9%B4%EC%A0%91-cs-%ED%8A%B9%EA%B0%95/dashboard

저작자표시 (새창열림)

'CS 지식' 카테고리의 다른 글

추상화  (0) 2024.08.07
메서드 오버로딩, 오버라이딩  (0) 2024.08.07
CI/CD  (0) 2024.08.06
클라우드 - 컨테이너와 도커  (0) 2024.08.06
클라우드 - IaaS, PaaS, SaaS  (0) 2024.08.06
'CS 지식' 카테고리의 다른 글
  • 추상화
  • 메서드 오버로딩, 오버라이딩
  • CI/CD
  • 클라우드 - 컨테이너와 도커
Purewater
Purewater
Purewater
프로그램 공부 일기장
Purewater
전체
오늘
어제
  • 분류 전체보기 (237)
    • Front-end (8)
      • Vue (8)
    • 포트폴리오 (3)
      • JSP SHOP (1)
      • Travelanner (1)
      • OAuth2 Blog (1)
    • 취업 준비 (70)
      • Spring boot (43)
      • JPA (1)
      • Spring security (14)
      • React (11)
      • 면접 기록 (1)
    • 국기훈련과정 (57)
      • JAVA 복습노트 (12)
      • Oracle SQL (9)
      • Web (15)
      • JSP (6)
      • Spring (10)
      • 프로젝트 (4)
      • Python (1)
    • 알고리즘 문제풀이 (17)
      • Python3 (13)
      • Kotlin (4)
    • 이것저것 지식 (9)
    • 클라우드 서버 (7)
      • Linux (7)
    • Backend (20)
      • node.js (9)
      • JAVA (6)
      • spring boot (5)
    • DB (1)
      • SQL (1)
    • 잡담 (1)
    • 강의 수강 (1)
    • CS 지식 (41)
      • 디자인패턴 (6)
      • 네트워크 (22)
      • 데이터베이스 (4)

블로그 메뉴

  • 대문
  • 태그
  • 방명록
  • 글쓰기

공지사항

인기 글

태그

  • node.js
  • 디자인패턴
  • Postman
  • js
  • 자바스크립트
  • SQL
  • 노드
  • 오라클
  • JPA
  • redis
  • Java
  • PostgreSQL
  • git
  • gitignore
  • Oracle
  • node
  • spring
  • GUI
  • Kotlin
  • db

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Purewater
컴파일 언어와 인터프리터 언어?
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.