티스토리 뷰
안녕하세요 강정호입니다. 오늘은 인터프리터 언어와 컴파일 언어의 차이에 대해서 알아보겠습니다.
인터프리터언어
인터프리터 언어는 원시코드(프로그래머가 작성한 소스코드)를 기계어로 변환하는 과정없이 한줄 한줄 해석하여 바로 명령어를 실행하는 언어를 말합니다. R, Python, Ruby와 같은 언어들이 대표적인 인터프리터 언어입니다.
인터프리터가 직접 한 줄씩 읽고 따로 기계어로 변환하지 않기 때문에 빌드 시간이 없습니다. Runtime 상황에서는 한 줄씩 실시간으로 읽어서 실행하기 때문에 컴파일 언어에 비해 속도가 느립니다.
실행속도는 느리지만 코드 변경시 빌드 과정없이 바로 실행이 가능하다는 장점이 있습니다. 루비를 사용해보면 소스코드를 고치고 서버를 다시 시작하지 않아도 변경사항이 반영된 상태로 테스트를 진행할 수 있습니다.
컴파일 언어
컴파일 언어는 원시코드(프로그래머가 작성한 소스코드)를 모두 기계어로 변환한 후에 기계(JVM 같은 가상 머신)에 넣고 기계어 코드를 실행합니다. 소스코드를 기계어로 번역하는 빌드 과정에서는 인터프리터 언어에 비해 시간이 소요됩니다. 하지만 런타임 상황에서는 이미 기계어로 모든 소스코드가 변환되어 있기 때문에 빠르게 실행할 수 있습니다. 대표적인 언어로 C, C++이 있습니다.
빌드 과정이란?
빌드는 소스파일(소스코드 파일)을 실행파일로 생성하는 과정입니다.
즉 고급언어 ----> (변환) ---> 저급언어(기계어) 과정을 거쳐서 실행파일로 생성합니다.
인터프리터 언어는 빌드과정이 없이 바로 고급언어에서 한줄 씩 읽어서 실행합니다. 반면에 컴파일러 언어와 같은 C, Java는 .class 파일 등과 같이 변환하여 실행을 합니다.
'Back-end' 카테고리의 다른 글
[루비온레일즈] 웹 소켓 (0) | 2019.02.06 |
---|---|
[RSpec] 레일즈 테스트 코드 작성(작성중) (0) | 2019.01.24 |
[루비온레일즈] 응답처리 (0) | 2019.01.10 |
[루비온레일즈] nav바에 로그인, 로그아웃 링크 처리하기 (0) | 2019.01.10 |
[루비온레일즈] 게시물 페이징 처리 (0) | 2019.01.09 |
- Total
- Today
- Yesterday
- 개발자 회고
- 월부닷컴
- Use case
- 관계대수
- pop_back
- 파라메터
- 재테크공부
- docker
- Inception
- 부동산공부
- 항해솔직후기
- 내년은 빡세게!!
- 월급쟁이부자들
- GIT
- 유즈케이스
- 인셉션
- 2023년
- 도커
- Spring boot
- push_back
- 열반스쿨기초반
- 폭포수
- ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
- 항해플러스후기
- 깃허브
- resize
- 항해플러스백엔드
- front
- github
- 깃
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |