컴퓨터와 대화하기, 인터프리터 언어 vs 컴파일 언어

LikeChoonsik's·2022년 12월 21일
0

Common

목록 보기
2/7
post-thumbnail

우리가 쓰는 말은 한국어 영어 등 인간말
컴퓨터가 쓰는 말은 기계어 등 기계말

즉 '응애 이거 해주세요' 라고 인간말로 말해봤자 모르기에 기계말로 바꿔서 알려줘야하는데 그걸 컴퓨터가 알아서 파파고마냥 해석해서 알아 듣는다.

그리고 결국 '해주세요'라고 하는 거기 때문에 하라는데로 잘 하는 컴퓨터는 말해준대로 무언가를 실행한다.

이런 내용을 설명한 내용이 아래

컴파일러 언어

컴파일 언어는 내가 작성한 소스 코드 전체를 컴퓨터가 알아먹을 수 있는 기계어로 번역한 뒤, 이 번역된 코드를 한번에 실행하는 두 단계를 거쳐 진행된다.
번역과 실행이 완전히 따로 이루어진다는 뜻이다.
번역은 컴파일러를 통해 수행된다
(고급 언어로 작성 된 소스 코드를 저급 언어로 번역하는 프로그램을 가리킨다. 여기서 고급 언어는 사람이 이해하기 쉽도록 작성된 프로그래밍 언어로 C, C++, JAVA 등(인간말)이 이에 속한다. 저급 언어는 컴퓨터 내부에서 바로 처리 가능한 프로그래밍 언어로 기계어와 어셈블리어 등이 이에 속한다.)

컴파일러 언어의 특징

  • 컴파일러 언어는 컴파일러를 통해 컴파일 타임에 전체 소스 코드를 한 번에 기계어로 변환 후 실행파일을 만든다.
  • 컴파일러 언어는 컴파일 단계와 실행 단계가 각각 분리되어 있으며, 컴파일은 단 한번만 수행한다. 즉 이미 컴파일이 된 프로그램이라면? 굉장히 빠른 속도로 실행이 가능하다.
  • 실행은 실행 파일을 실행시킴으로써 할 수 있으며, 실행시에는 컴파일 과정을 거치지 않고 실행만 하면 되므로 코드 실행 속도가 빠르다. 단, 프로젝트의 규모가 클 경우 컴파일 시간이 오래 걸릴 수 있다는 단점이 있다.
  • OS마다 실행할 수 있는 기계어가 다른 경우가 있다. 그럼 다른 OS에서 내 실행 파일을 실행시키려면? 이미 만들어둔 실행 파일은 불행히도 실행되지 않는다. 해당 OS에 맞는 컴파일러로 다시 컴파일 해줘야한다.

컴파일러 언어의 종류

C, C++, C#, JAVA, Go 등이 있다.

인터프리터 언어

인터프리터(interpreter)는 프로그래밍 언어의 소스 코드를 바로 실행하는
즉 번역과 실행을 동시에 진행 컴퓨터 프로그램을 말한다.

인터프리터 언어는 소스 코드를 한번에 기계어로 변환하는 컴파일러와 달리, 컴파일 하지 않고 소스 코드를 한 줄씩 읽어들여 실행한다.

인터프리터 언어의 특징

  • 컴파일 하는 과정이 없기 때문에 컴파일 하는 시간은 소요되지 않으나, 인터프리터 언어는 실행파일을 별도로 생성하지 않기 때문에 실행시마다 인터프리트 과정이 반복 수행되어 실행 속도가 느리다는 단점이 있다.
  • 디버깅이 쉬움
  • 운영체제 호환이 좋음

인터프리터 언어의 종류

Python, Javascript, Ruby 등이 있다.

profile
춘식이는 너무 귀엽습니다.

0개의 댓글