IT 자격증 정보의 모든 것



안녕하세요! 컴파일 언어, 인터프리터 언어, 스크립트 언어 등 여러 종류의 언어가 있는데요. 

오늘은 각 언어들의 차이점에 대해서 알아봅시다! 



프로그래밍 언어


먼저 가장 큰 개념인 프로그래밍 언어란 무엇인지 알아보아요.

프로그래밍 언어는 말 그대로 컴퓨터에서 일을 수행하는 프로그램을 작성하기 위해

사용하는 기호 체계를 의미하는데요. 굉장히 중요한 의미를 갖고 있습니다.

컴퓨터는 0과 1만을 이해하기 때문에 이러한 기계어 혹은 머신 코드와

인간의 언어 사이에서 중간 다리 역할을 해주는 것이 바로 프로그래밍 언어이기 때문입니다.

프로그래밍 언어는 프로그래밍의 방법에 큰 영향을 주며,

컴퓨터에 대한 이해와 활용에 매우 큰 영향을 끼쳐 왔어요.

사실상 프로그래밍 언어의 개발에 대한 개념과 연구는 컴퓨터 공학의

기본이 된다고 볼 수 있습니다. 때문에 컴퓨터 프로그래머는 물론 

컴퓨터 공학을 전공하는 학생들에게는 반드시 필요한 역량이에요.

프로그래밍 언어는 크게 저급 언어와 고급 언어로 나뉘는데요.

저급 언어에서는 어셈블리 언어가 대표적이고, 

고급 언어에는 알골, 포트란, 코볼, 베이식, 파스칼, 에이다 등이 있어요.

또한 C언어와 C++, C#는 고급 언어임에도 불구하고 어셈블리 언어 수준으로

하드웨어 제어가 가능하기 때문에 ‘중급 언어’로 분류되기도 합니다.

그렇다면 컴파일 언어와 인터프리터 언어는 어떻게 분류된 언어일까요?




컴파일 언어와 인터프리터 언어


각 프로그래밍 언어들은 컴파일러와 번역기를 사용하여 

머신 코드로 바뀌어 컴퓨터에서 실행됩니다.

컴파일 언어의 실행 단계 특징은 컴파일러를 거친다는 점이에요.



컴파일 언어는 작성된 코드를 컴파일러를 통해 머신 코드로 변환하고 

변환된 파일을 컴퓨터에서 실행시키는 단계를 거칩니다.

C++로 예를 들었을 때, 소스 코드(.cpp)를 컴파일러를 통해 머신코드(.exe)로 변경하고

컴퓨터에서 실행이 가능한 exe파일로 변환된 파일이 

컴퓨터에서 실행되는 것이죠!

즉, 컴파일 언어를 실행시키기 위해선 ‘컴파일러’라는 중간 단계가 필요해요.

반면 인터프리터 언어는 내가 작성한 코드(소스 코드)를

별도의 컴파일 과정 없이 바로 실행시킬 수 있다는 것이 특징입니다.


인터프리터(번역기)에 의해 입력과 동시에 머신 코드로 번역되어 실행되기 때문에

생산 속도가 굉장히 빨라요.

또한 컴파일 언어보다 훨씬 더 단순하고 배우기 쉽답니다.

그렇다면 컴파일 언어와 인터프리터 언어의 차이점을 자세히 알아볼까요?



컴파일 언어와 인터프리터 언어의 차이점


1. 실행 단계의 차이


앞서 말했듯 컴파일 언어는 ‘컴파일러’ 단계가 필요하고 

인터프리터 언어는 별도의 ‘컴파일러’ 과정이 필요하지 않아요.




2. 생산 속도의 차이


1번과 같은 맥락인데요. 컴파일 언어의 경우 ‘컴파일러’ 과정이 들어가기 때문에

인터프리터 언어보다 생산 속도가 느립니다. 

인터프리터 언어는 과정이 단순하기 때문에 생산 속도가 빠르죠.




3. 소스 코드 작성 제약사항


컴파일형 언어에는 소스 코드 작성을 위한 제약사항이 스크립트형 언어보다 더 많답닏.

따라서 컴파일 언어는 사용해야 하는 변수의 자료에 대해서 명확하게 알아야 해요.

또한 각종 문법에 따른 제약 사항 들도 알아야 하구요.




4. 디버깅


하지만 인터프리터 언어는 간편한 만큼 잃는 것도 있답니다.

소스 코드가 실행되기 전까지는 소스 코드의 버그를 인지하는 것이 어려워요.

물론, 인지할 순 있지만 컴파일 언어에 비해 오류 인지 시점이 늦습니다.

또한 컴파일 언어가 디버깅 작업이 훨씬 수월해요.




5. 실행 속도


생산 속도는 인터프리터 언어가 더 좋았다면

실행 속도는 컴파일 언어가 훨씬 더 빠르답니다.

컴파일을 한 뒤에 생성된 파일에 의해 프로그램이 실행되기 때문에

번역기에 의해 번역이 되고 실행되는 인터프리터 언어에 비해 훨씬 빨라요.

실행 속도는 

C언어, C++ -> Java -> Python 순으로 느려지기 때문에

연산 속도나 실행 속도에 민감한 프로그램은 인터프리터 언어로 개발하지 않아요.



이렇게 컴파일 언어와 인터프리터 언어의 차이점에 대해서 알아보았는데요.
각 언어마다 특징이 있기 때문에
자신에게 필요한 조건에 맞춰 프로그래밍 언어를 선택하는 것이
가장 중요할 것 같아요.
다만 꼭 하나를 추천하자면 인터프리터 언어에서는 배우기 쉽고
범용적인 목적으로 널리 사용 중인 파이썬을 추천하고
컴파일 언어에서는 다른 컴파일 언어에 비해 쉽게 배울 수 있고
현장에서 가장 많이 사용하고 있는 자바를 추천합니다!