아래 글은 스크립트, 컴파일 언어 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.

 

 

📃 참고자료

 

 

 

# 스크립트 언어 (Scripting Language)

 

소스 코드를 컴파일(Compile)하지 않고도 실행 할 수 있는 프로그래밍 언어

ex) 파이썬, 자바스크립트 등등

 

  • 소스 코드를 컴파일하지 않고 인터프리터로 소스 코드를 한줄한줄 읽어 바로 실행하는 방식으로 동작하는 언어
    - 인터프리터(interpreter)란?
       => 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경
  • 컴파일 하지 않고 바로 실행한다는 특징이 있지만, 소스 코드를 읽으며 실행하기 때문에 프로그램의 실행 시간은 느리다.
  • 소프트웨어의 동작 내용을 대본(스크립트)로 보고 제어하는 언어

 

 

 

# 컴파일 언어 (Compiled Language)

 

구현체들이 일반적으로 컴파일러(소스 코드로부터 기계어를 생성해내는 변환기)이면서,

인터프리터(런타임 전 변환 과정을 거치지 않는, 소스 코드의 단계별 실행기)가 아닌 프로그래밍 언어이다.

ex) C, C#, 자바 등등

 

  • 소스 코드를 컴파일한 후 기계어를 CPU/메모리를 통해 읽어 실행하는 방식으로 동작하는 언어
  • 컴파일을 하기 때문에 규모가 큰 프로그램이라면 컴파일 시간이 오래 걸릴 수 있지만,
    컴파일 후의 기계어를 통해 프로그램을 실행하기 때문에 실행 시간은 빠르다.

 

 

 

컴파일이란?

  • 사람이 이해하는 언어를 컴퓨터가 이해할 수 있는 언어로 바꿔주는 과정.
  • 원시코드에서 목적 코드(목적 파일)로 바꾸는 것이 컴파일이고, 목적 파일을 실행파일로 바꾸는 것이 링크이다.
  • 원시코드는 C언어나 자바, 파이썬 같은 사람이 이해할 수 있는 언어를 말하고 목적 파일은 컴퓨터가 컴퓨터가
    이해할 수 있는 언어이다. 
    (실행파일도 마찬가지 컴퓨터가 이해할 수 있는 언어로 구성되어 있다.)

 

컴파일에 대해 오해 하고 있는 부분

 

컴파일에 대해 알지 못한 사람들이 많이 오해하고 있는 부분이 자신이 소스 코드를 작성하고 실행파일을 만드는 것을 컴파일이라고 생각하지만, 이것은 컴파일러(Dev c++, 비쥬얼 스튜디오 등)가 하는 역할이지 컴파일이라는 개념은 원시코드에서 목적 파일로 바꾸는 것이다. 바꾸어진 목적 파일은 단순한 컴퓨터가 이해할 수 있는 목적 파일일 뿐 실행 할 수는 없다. 이것을 링커라는 실행할 수 있는 실행파일로 만드는데 이 실행파일이 우리가 자주 사용하는 .exe파일이다.

 

 

반응형

+ Recent posts