인터프리터 언어

인터프리터는 소스코드를 한줄 한줄 읽어 가며 명령을 처리하는 프로그램입니다.
한줄이 바뀔때마다 읽어가며 즉시 검사하는 방식입니다.
Interpreter의 영단어 뜻 중 하나에는 '통역사'가 있습니다
말그대로 우리가 컴퓨터에 인터프리터언어로 명령을 내리면 통역사가 해석하여 명령어를 실행하는 언어를 말합니다.

다시말해 우리가 컴퓨터에 명령을 내리면 통역사(Interpreter)가 한줄 한줄씩 명령어를 실행해주는 겁니다.

대표적으로 R, Python, Ruby 등이 있습니다.

 

 

 

인터프리터 언어의 장단점

  • 장점
    코드를 수정하고 즉시 실행 할 수 있어 개발 편의성이 좋다.
    프로그램 전송시 프로그램의 코드만 전송하면 실행이 되므로 용량이상대적으로 작다.

  • 단점
    실행 속도가 느리다.
    프로그램의 코드가 유출되기 쉬워 보안이 약하다.

 

 

 

 

 

 

컴파일 언어

컴파일 언어는 인터프리터와 다르게 명령들을 몽땅 모아 놓고 한번에 실행하는 방식입니다.
프로그램 코드를 다 적은 후 한꺼번에 검사하는 형태하고 보시면됩니다.
컴파일러는 한번에 모두 읽고 실행하기 때문에 처음에 컴파일 과정이 오래 걸릴수도 있고 메모리도 많이 차지 합니다.
하지만 컴파일 이후에는 실행이 빠르고 더 이상 변환하지 않아도 되기 때문에 효율적입니다.

다시 말해 소스코드를 한번에 기계어로 변환하며
소스코드를 기계어로 번역하는 과정에서는 인터프리터 언어에 비해 시간이 소요 되지만
런타임 상황에서는 이미 기계어로 모든 소스코드가 변환되어 있기 때문에 실행속도면에서 우수합니다.

대표적으로 c, c++이 있습니다.

 

 

 

 

컴파일 언어의 장단점

  • 장점
    실행 속도가 빠르다!
    프로그램의 코드가 유출되지 않는다. => 프로그램을 전송할때 소스 코드를 보낼 필요가 없기 때문
  • 단점
    코드를 수정하고 실행하려면 컴파일을 다시 해야한다.
    프로그램의 실행 파일 전체를 전송해야하므로 용량이 크다.

 

 

 

 

ps.아래 링크에서 그림과 함께 자세한 설명을 볼수 있습니다.

blog.naver.com/PostView.nhn?blogId=zosl1004&logNo=221242373322&redirect=Dlog&widgetTypeCall=true&topReferer=https%3A%2F%2Fwww.google.com%2F&directAccess=false

 

 

 

 

 

 

 

 

참조

1. blog.naver.com/PostView.nhn?blogId=zosl1004&logNo=221242373322&redirect=Dlog&widgetTypeCall=true&topReferer=https%3A%2F%2Fwww.google.com%2F&directAccess=false

 

2. jhkang-tech.tistory.com/136

 

3. m.blog.naver.com/hweunj/221830827832

 

 

 

 

반응형

+ Recent posts