#저급언어 #고급언어 #컴파일러

저급언어

저급 언어는 기계 중심의 언어라고 말할 수 있다. 기계가 직접 알아들을 수 있는 말로 '프로그램 코드를 작성한다'고 말할 수 있다. 컴퓨터는 전기로 동작한다. 즉, 전기 신호인 켜졌다(on)과 꺼졌다(off) 2가지 상태 값을 동작한다고 말할 수 있다.

보통 숫자로 표현하면 켜졌다는 1, 꺼졌다는 0을 의미한다. 0과 1로 표현되는 숫자를 2진수라고 말한다. 2진수로 이뤄진 값으로 작성하는 프로그래밍 언어를 기계어(Machine Language)라고 말한다. 숫자로만 되어 있기 때문에 유지보수도 굉장히 어렵고, 사용도 굉장히 어렵다.

그래서 이 숫자로 된 문장과 1:1로 대응하는 기호를 만들고, 그 기호를 가지고 프로그래밍을 한다. 단 기호로 작성된 프로그램은 기계가 바로 알아들을 수 없기 대문에 기호로 작성된 문장들을 원래의 숫자로 바꿔야하는 과정이 필요하다. 이러한 과정에서 사용되는 도구를 컴파일러(Compiler)라고 말하며, 이러한 기호로 작성된 언어를 어셈블리어(Assembly Language)라고 말한다.

현재는 아주 특수한 경우를 제외하고는 기계어와 어셈블리어로 프로그램을 개발하는 경우는 거의 없다. 그만큼 프로그래밍이 어렵고 유지보수가 어렵기 때문이다.

고급언어

고급 언어는 사람 중심의 언어라고 말할 수 있다. 사람이 좀 더 이해하기 쉬운 문법으로 프로그래밍을 할 수 있다. 이런 일이 가능하기 위해서는 작성된 소스코드를 번역하는 과정이 필요한데, 이를 컴파일한다고 말하며, 이러한 일을 수행하는 것을 Compiler라고 말한다. (어셈블리어도 기계어로 컴파일 된다.)

컴퓨터 성능이 좋아지고, 컴파일러와 관련된 기술이 발전하면서 사람 중심의 언어로 프로그래밍할 수 있다고 생각하면 된다. 이러한 고급 언어로는 아래와 같은 언어들이 있다.