프로그래밍 언어는 저수준 언어(Low-level) 에서 고수준 언어(High-level)까지 나눠볼 수 있다. 컴퓨터는 0101로된 2진법의 숫자만 이해할 수 있는데, 이를 기계어(Machine Code)라고 한다. 어셈블리어(assembly language)는 기계와 일대일 대응이 되는 컴퓨터 프로그래밍의 저수준 언어이다. 컴퓨터의 구조에 따라 사용하는 기계어가 달라지며 기게어에 대응되어 만들어지는 어셈블리어도 각각 다르게 된다. 다양한 프로그래밍 언어는 다양한 상황에서 성능적 차이를 보완하기 위해 등장하게 되었다.
1. 컴파일러
컴파일러는 프로그래밍 언어의 번역기로 고수준 프로그래밍 언어를 머신코드로 바꿔주는 역할을 한다. 컴파일러의 단점은 머신코드를 사람이 이해할 수 없다는 데서 출발한다.
컴파일러가 고수준언어 전체를 한번에 머신코드로 바꾸어주기 때문에 사람은 수정사항이 발생했을때 수정된 일부만을 바꿀수 없다. 그래서 기능을 일부만 수정하더라도 다시 전체를 컴파일러를 통해 컴파일 해주어야 한다.
2. 인터프리터
컴파일러의 단점인 즉시실행을 보완하고자 개발되었다. 코드를 한줄 씩 즉시 실행해서 개발속도가 빨라진다.
3. 컴파일러와 인터프리터 비교
컴파일러의 경우 컴파일 완료된 프로그램을 다른 사람이 받아서 실행시키기만 하면 된다.
인터프리터를 사용하게 되면 코드를 다른사람의 컴퓨터로 전송하고 다른사람의 컴퓨터에서 코드를 실행하면 인터프리터가 이를 통해 프로그램을 실행시키게 된다. 따라서 사용자의 컴퓨터에 인터프리터가 있어야한다.
댓글