Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 타입스크립트 props
- 내일배움캠프
- 파이썬 for
- 내일배움캠프 프로젝트
- 프로그래머스
- 리액트
- 한글 공부 사이트
- 타입스크립트 리액트
- 파이썬 slice
- 파이썬 replace
- useEffect
- 파이썬 for in
- 자바스크립트
- 파이썬 딕셔너리
- typeScript
- 코딩테스트
- 리액트 공식문서
- 리액트 훅
- 내배캠 프로젝트
- 리액트 프로젝트
- tanstack query
- 파이썬 반복문
- 타입스크립트
- 내일배움캠프 최종 프로젝트
- React Hooks
- 파이썬 enumerate
- Next 팀 프로젝트
- useState
- JavaScript
- REACT
Archives
- Today
- Total
sohyeon kim
[SW] comfiler & interpreter 컴파일러와 인터프리터 본문
728x90
: 고수준 프로그래밍 언어를 컴퓨터가 이해할 수 있는 기계어 Machine code로 번역해 줌
: 프로그래밍 언어의 "번역기"
컴파일러 | 인터프리터 | |
실행 방식 | 코드를 컴파일러로 번역한 뒤 사용자의 컴퓨터로 번역된 코드를 보낸다. 그리고 실행 |
코드를 인터프리터가 깔려 있는 사용자의 컴퓨터를 보내 번역한다. 그리고 실행 |
개발 편의성 | 👿 코드를 수정하고 실행하려면 컴파일을 다시 해야 한다. (실행할 때마다 전체 코드를 읽음) |
😇 코드를 수정하고 즉시 실행할 수 있다. (한 줄씩 바로바로 실행) |
실행 속도 | 😇 빠르다. | 👿 느리다. (사용자의 컴퓨터에서 번역을 하니까) |
보안 | 😇 프로그램의 코드가 유출되지 않는다. | 👿 프로그램의 코드가 유출될 수 있다. (코드 전체를 보내니까) |
파일 용량 | 👿 프로그램의 실행 파일 전체를 전송해야 하므로, 용량이 크다. |
😇 프로그램의 코드만 전송하면 실행이 되므로, 용량이 작다. |
프로그래밍 언어 | C, C++ 처럼 비교적 저수준에 가까운 언어 | Python, Ruby 처럼 비교적 고수준에 가까운 언어 |
보통 고급언어에서 점점 더 저수준 언어로 번역될수록 코드 길이가 훨씬 길어진다.
그래서 전체 프로그램을 머신 코드로 만들어서 전달하는 컴파일러 방식보단
고수준 언어 그 자체로 전달하는 인터프리터 방식의 프로그램 용량이 더 작다!
개발 편의성은 떨어지지만 실행 속도는 빠른 저수준 언어와
개발 편의성이 높지만 실행 속도는 느린 고수준 언어와 비슷하다.
💡 고수준 언어는 개발 편의성이 생명인데, 컴파일을 거치면 그 장점이 사라진다.
그러니 고수준 언어는 인터프리터 방식을 주로 사용
💡 저수준 언어는 개발 과정이 좀 힘들더라도 어떻게든 최고의 성능, 효율, 속도를 만들어내고자 했다.
그런데 인터프리터 방식으로 느린 환경에서 실행된다면, 힘들게 저수준 언어로 개발한 이유가 사라진다.
그러니 저수준에 비교적 가까운 언어들은 컴파일 방식으로 실행되는 경우가 많다!
728x90
반응형
'Software' 카테고리의 다른 글
[SW]REST API : URI & HTTP 요청 메서드 GET, POST.. (0) | 2024.02.19 |
---|---|
[SW] HTTP 상태 코드 정리 (0) | 2024.02.16 |
[SW] Library & Framework 라이브러리와 프레임워크 (0) | 2024.01.02 |
[SW] Operating System 간단한 운영체제 개념 (0) | 2024.01.02 |
[SW] HTTP란 (0) | 2023.09.13 |