고급언어
고급언어는 개발자가 읽고 쓰기 편하게 만들어진 언어이다. 컴퓨터가 바로 해석할 수 없기 때문에 인터프리터나 컴파일러를 통해 저급언어(기계어)로 변한되어
사용된다. 이러한 고급언어에는 절대적이지 않지만 컴파일 언어와 인터프리트 언어로 나눌 수 있다
.
Note
모든 프로그래밍 언어는 컴파일언어와 인터프리터 언어로만 구분할 수 없다. 많은 언어가 컴파일과 인터프리트 방식을 모두 지원할 수 있다. 그렇기 때문에 고급언어가 저급언어로 변환되는 방식에는 대표적으로 컴파일 방식과 인터프리트 방식이 있다고 받아들여야 한다.
컴파일 언어
컴파일 언어는 소스 코드를 Compiler
의해 저급 언어로 변환하여 실행 파일을 생성하는 프로그래밍 언어이다. Compile 결과로 저급언어인 목적 코드(Object Code)
가 생성되며, 이 목적 코드는 기계어
로 변환되어 실행된다.
인터프리트 언어
인터프리터 언어는 소스 코드를 실행할 때 한 줄씩 읽고 해석하여 바로 실행
하는 프로그래밍 언어이다. Interpreter
는 소스 코드를 미리 기계어로 번역하지 않고, 실행 시간에 한줄한줄 저급언어로 변환하고 실행한다.
컴파일 언어 vs 인터프리트 언어
컴파일언어는 작성한 소스코드 전체를 흝어보고 오류가 있는지 없는지 체크하고 성능을 개선할 수 있는지를 체크한다. 때문에 컴파일 중 오류가 발생하면 컴파일이 되지않아 목적코드로 변환할 수 없다. 또한 소스코드를 컴파일하는데 시간이 필요하다.
하지만 인터프리트 언어는 한줄한줄 저급언어로 Interpret 되어 실행하기 때문에 오류가 발생하기 전까지의 코드는 실행된다. 당연히 소스코드 전체가 저급언어로 변환되기까지 기다릴 필요가 없다.
저급언어
저급언어는 컴퓨터가 이해하고 실행하기 위해 만들어진 언어이며 기계어, 어쌤블리어로 나뉘어진다. 기계어, 어쌤블리어 모두 컴퓨터를 동작시키는 명령어이다.
기계어
기계어는 0 과 1 로 이루어진 명령어로 구성된 저급 언어이다. 일반적으로 2진수로 표현하지만, 16진수로 표현할 수 있다.
어쌤블리어
어쌤블리어는 0 과 1 로 이루어진 기계어를 읽기 편한 형태로 번역한 저급 언어이다. 어쌤블리어의 한줄한줄이 컴퓨터를 동작시키는 명령어이다.