반응형
✅ 참고
컴퓨터는 기계어 밖에 읽지 못합니다.
즉, 프로그래밍 언어(Java, Python)로 작성된 프로그램 코드를 직접 읽지 못합니다.
그렇기 때문에 프로그래밍 언어를 기계어로 변환해 주는 작업이 필요합니다.
참고: 바이너리 코드, 기계어, 어셈블리어, 저급 언어 모두 같은 말입니다.
📄 컴파일 언어란?
- 컴파일 언어란 이름 그대로 컴파일(번역) 작업을 하는 프로그래밍 언어입니다.
- Java 프로그램은 컴퓨터가 프로그램을 실행하기 전에 미리 기계어로 번역해둡니다.
-> 번역하는 작업을 컴파일이라고 하며, 번역된 작업물을 빌드(build)된 프로그램 이라고 합니다. - 해리포터 책을 생각해 봅시다.
- 독자가 책을 읽기 전에 출판사에서는 해리포터 영문판 책을 해리포터 한글판 책으로 번역해서 판매해야 합니다.
- 즉, 책을 읽기 전(구매하기 전)에 해리포터 책은 영문판에서 한글판으로 미리 번역이 되어 있어야 합니다.
참고: 컴파일 언어의 대표적인 언어는 C, Java 등이 있습니다.
컴파일 언어의 장단점
장점
- 미리 번역(컴파일)된 코드를 컴퓨터가 읽어 프로그램 실행 속도가 빠릅니다.
- 프로그램 코드를 미리 번역(컴파일) 하기 때문에 프로그램 실행 중에 오류 위험이 적습니다.
단점
- 컴파일 오류가 발생할 가능성이 있으며, 상대적으로 인터프리터 언어보다 개발이 오래걸립니다.
참고: 프로그램 오류 중 가장 좋은 오류는 컴파일 오류이며,
프로그램 오류 중 가장 위험한 오류는 프로그램 실행 중에 발생하는 오류입니다.
📄 인터프리터 언어란?
- 인터프리터 언어란 이름 그대로 인터프리터(통역) 작업을 하는 프로그래밍 언어입니다.
- Python 프로그램은 컴퓨터가 프로그램을 실행하는 도중에 실시간으로 기계어로 통역해줍니다.
- 해리포터 영화를 생각해 봅시다.
- 관객이 영화를 보면 영어 대사(음성)는 한글 자막으로 번역되어 제공됩니다.
- 즉, 영화를 보면서 영어 대사를 듣고 한글 자막을 보면서 실시간으로 영화를 이해합니다.
참고: 인터프리터 언어의 대표적인 언어는 JavaScript, Python 등이 있습니다.
인터프리터 언어의 장단점
장점
- 컴파일 오류가 없어 개발이 간편합니다.
단점
- 실시간으로 통역(인터프리터) 작업을 하기 때문에 실행 속도가 컴파일 언어 프로그램보다 느립니다.
- 실시간으로 통역(인터프리터) 작업을 하기 때문에 예상하지 못한 오류가 발생합니다.
✔️ 정리
- 컴퓨터는 프로그래밍 언어를 직접 해석하지 못하기 때문에 프로그래밍 언어를 기계어로 변환해 주어야 합니다.
- 프로그래밍 언어를 기계어로 변환하는 작업은 컴파일 작업과 인터프리터 작업이 있습니다.
- 컴파일 언어는 번역 언어, 인터프리터 언어는 통역 언어입니다.
반응형
'ETC > IT 지식' 카테고리의 다른 글
[네트워크] SIP란? - 기본 핵심 요약 총정리 (0) | 2024.11.11 |
---|---|
[IT] 정말 알기 쉽게 정리한 컴퓨터의 구성 요소 (0) | 2023.03.11 |
[IT] 정말 알기 쉽게 정리한 정보통신이란? (0) | 2022.11.21 |
[IT] 일반인을 위한 가장 알기 쉬운 프로그래밍 언어 관련 기초 (0) | 2022.09.28 |
[IT] 정말 알기 쉽게 정리한 IP 주소란? IPv4&IPv6 (0) | 2022.09.28 |
댓글