Skip to main content
바이트 코드 언어 네이티브 코드 언어 비교
네이티브 코드 언어
- 네이티브 코드 언어는 소스 코드를 특정 운영 체제와 하드웨어에서 실행 가능한 기계어 코드로 직접 컴파일하는 언어를 말함.
- 플랫폼 종속적인 네이티브 바이너리 파일을 생성
- Go, Rust, C++ 등
장점
- 직접 기계어로 컴파일되므로, 추가적인 오버헤드가 없으며 최적화된 성능을 제공
- 생성된 바이너리는 독립적으로 실행 가능하며, 별도의 런타임 환경이 필요하지 않음
단점
- 각 운영 체제마다 별도의 바이너리를 컴파일해야 함.
- 여러 플랫폼을 지원하려면 각 플랫폼에 맞는 컴파일된 바이너리를 제공해야 함.
바이트코드 언어
- 바이트코드 언어는 소스 코드를 플랫폼 독립적인 바이트코드로 컴파일하며, 이 바이트코드는 특정 런타임 환경(JVM, 인터프리터 등)에 의해 실행됨.
- Java, Python 등
장점
- 바이트코드는 특정 런타임 환경만 설치되어 있으면 어떤 플랫폼에서도 실행될 수 있음.
- 한 번 컴파일된 바이트코드는 모든 플랫폼에서 동일하게 실행될 수 있으므로, 배포가 간편함.
단점
- 런타임 환경에서 추가적인 오버헤드가 발생할 수 있음.
- 바이트코드를 실행하기 위해 해당 런타임 환경이 설치되어 있어야 함.
주요 차이점 요약
네이티브 컴파일 언어
- 소스 코드를 플랫폼 종속적인 기계어 코드로 컴파일
- 각 플랫폼마다 별도로 컴파일된 바이너리를 제공
- 최적화된 성능을 제공하며 독립 실행 파일을 생성
바이트코드 언어
- 소스 코드를 플랫폼 독립적인 바이트코드로 컴파일
- 런타임 환경(JVM, 인터프리터)에서 바이트코드를 실행
- 높은 이식성과 배포의 편의성을 제공하지만 성능 오버헤드가 발생할 수 있음