프로그래밍 언어로 코드를 작성하고 실행시키는 방식 중 가장 유명하고 대표적인 두 가지 방식에 대해서 소개해볼까 합니다.
먼저, 인터프리터 방식을 소개해드리겠습니다.
인터프리터 방식은 프로그램을 실행할 때 인터프리터를 이용하여 코드를 한 줄 씩 읽어나가며 실행하는 방식입니다. 인터프리터 방식을 이용하는 고급 프로그래밍 언어로는 JavaScript, Python, SQL 등이 있습니다.
인터프리터 방식의 장점은 다음과 같습니다.
개인적인 경험으로는 인터프리터 방식을 채택한 언어들이
스크립트 언어위주다 보니까 배우기에 쉽다는 장점도 있는 것 같습니다. 다만, 배우기 쉽다는 것은 처음 입문해서 해보기 어렵지 않다는 거지 언어 자체가 쉽다는 것은 절대로 아닙니다.
인터프리터 방식의 단점은 다음과 같습니다.
컴파일러 방식은 코드를 기계가 알아들을 수 있는 기계어로 번역하고, 실행하는 방식입니다. 더 정확히는 컴파일 과정을 거치는 방식을 의미하는데, 컴파일은 어떤 언어로 작성된 코드를 다른 언어(보통 어셈블리, 기계어. 고급 언어간 변환도 컴파일이라고 할 수 있습니다.)로 변환하는 과정입니다. 컴파일러 방식을 이용하는 언어는 C, C++, JAVA 등이 있습니다.
컴파일러 방식의 장점은 다음과 같습니다.
처음 접하게 되면, 바로바로 한 줄 씩 읽어내는 인터프리터가 더 빠른거아니에요? 라는 물음이 충분히 생길 수 있습니다.
인터프리터 방식같은 경우, 소스 코드에서 한 줄을 받아와서 이것을 컴퓨터가 이해하도록 번역하고, 결과물을 보여줍니다. 하지만 그 결과를 따로 저장해두지 않기 때문에 실행할 때마다 인터프리터가 번역하고 실행하게 됩니다.
반면,컴파일러 방식은 소스 코드를 통으로 컴파일 과정을 거쳐서 컴퓨터가 이해할 수 있는 언어로 된 목적 코드를 만들어냅니다. 따라서 재실행시 이 목적 코드만을 읽어내면되며, 목적 코드는 컴퓨터가 바로 이해할 수 있는 언어이기 때문에 결과적으로는컴파일러 방식의 속도가 빠르다라고 할 수 있는 것 입니다.
컴파일러 방식의 단점은 다음과 같습니다.