Posted
Filed under 공부한 것들/C/C++

저급언어(Low-Level Language)와 고급언어(High-Level Language)

저급언어(Low-Level Language)

저급언어는 컴퓨터 하드웨어와 더 가까운 언어로서 기계어(Machine Language)와 어셈블리 언어(Assembly Language)가 있음.
전류가 흐르는 상태인 ON은 숫자 1, 전류가 흐르지 않는 상태인 OFF는 숫자 0으로 표시, 이렇게 0,1로만 나타내는 언어를 기계어(Machine Language)라고 함.
컴퓨터는 0,1로만 인식, 기계어를 사람이 알 수 있는 형식으로 만들 필요가 있었는데 이렇게 기계어를 문자적으로 표현 한 것이 바로 어셈블리어(Assembly Language)

어셈블리어는 숫자 0, 1로 이루어진 명령어를 ADD, MOV와 같은 문자로 표현한 언어. 어셈블리어를 컴퓨터가 알 수 있는 기계어로 변역해 주어야 하는 과정이 필요한데, 이러한 과정을 어셈블(Assemble)한다 라고 하고 어셈블리어를 기계어로 번역하는 주체는 어셈블러(Assembler)라고 하는 언어 번역기가 담당.

고급언어(High-Level Language)

고급언어는 저급언어와 반대로 사용자와 더 가까운 언어. (기계어, 어셈블리어 이외의 모든 언어가 고급언어에 속함)
고급언어도 저급언어와 마찬가지로 컴퓨터가 직접 인식하지 못하여 기계어로 번역을 번역을 해주어야 하는데 고급언어에서는 이러한 과정을 컴파일(Compile)한다라고 하고 기계어로 번역해주는 주체를 컴파일러(Complier)라고 함.

저급언어와 고급언어의 가장 큰 차이점은 그 언어가 사용자 위주의 언어냐, 하드웨어 위주의 언어냐에 따라 다름.
저급언어는 하드웨어와 밀접한 관계가 있기 때문에 하드웨어를 직접 제어할 수 있는 반면에 전문가가 아닌 이상은 다루기가 어려움.
반면, 고급언어는 사용자와 밀접한 관계가 있기 때문에 일반 사용자가 다루기가 쉬운 반면 하드웨어를 직접 제어해야 할 경우엔 한계가 있음.

2007/05/13 16:29 2007/05/13 16:29