티스토리 뷰

컴파일 언어와 스크립트 언어의 차이

우리가 작성한 코드를 컴퓨터가 알아듣기 위해서는 프로그래밍 언어를 기계어(0, 1)로 번역하는 과정이 필요한데, 그 과정을 언어에 따라 컴파일(compile) 혹은 인터프릿(interpret)이라고 하고, 각각을 실행하는 변환기를 컴파일러, 인터프리터라고 한다.


이때, 컴파일을 하는 언어를 컴파일 언어, 인터프릿을 하는 언어를 인터프리터 언어 혹은 스크립트 언어라고 한다.


C, C++, Java와 같은 컴파일 언어는 코드를 작성한 후 컴파일을 하면, 컴파일러에 의해 기계어로 변환된 파일이 생성되고 컴퓨터는 그 파일을 실행한다.


Python과 Javascript와 같은 스크립트 언어는 별도의 파일 생성 없이 소스 코드가 작성될 때마다 인터프리터가 해당 코드를 기계어로 번역하고 실행한다.


컴파일 언어는 이미 기계어로 번역된 파일을 컴퓨터가 실행하므로 스크립트 언어에 비해 빠르고 소스코드에 문법적 오류가 있으면 컴파일 에러를 발생시켜 디버깅이 수월하다. 하지만 일반적으로 문법적 제약이 많아 작성이 비교적 어렵고, 운영체제마다 사용하는 기계어가 다르기 때문에 운영체제에 따라 작업을 각각 다르게 해줘야 하는 단점이 있다.


스크립트 언어는 컴퓨터가 코드를 실행하는 과정에서 소스 코드를 기계어로 번역하는 과정이 포함되어 있으므로 컴파일 언어에 비해 느리다. 또 문법적 오류가 있든 없든 일단 실행되기 때문에 디버깅이 비교적 어렵다. 하지만 문법 적 제약이 비교적 적어 작성이 비교적 쉽고, 운영체제를 신경 쓸 필요 없이 한 번만 작성해놓으면 된다는 장점이 있다.

정리

  1. 컴파일 언어
    • 실행 전 소스코드를 컴파일하여 기계어로 변환 후 해당 파일을 실행
    • 이미 기계어로 변환된 것을 실행하므로 비교적 빠름
    • 문법적 제약이 일반적으로 많음
    • 운영체제에 따라 다르게 작업해야 함
  2. 스크립트 언어(인터프리터 언어)
    • 코드를 작성함과 동시에 인터프리터가 기계어로 번역하고 실행함
    • 실행 과정 상에 번역 과정이 있어 비교적 느림
    • 문법적 제약이 일반적으로 적음
    • 운영체제를 신경 쓸 필요 없이 한 번만 작성하면 됨

참고 자료

노마드 코더 코틀린 영상 2:12 ~

노마드 코더 파이썬은 왜 C보다 느릴까

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 31
글 보관함