컴파일과 고레벨, 저레벨 언어

|

개인적인 연습 내용을 정리한 글입니다.
잘못된 내용이 있다면 편하게 댓글 남겨주세요!


컴파일?

고급프로그래밍 언어에 쓰여진 프로그램으로 소스코드에서의 오브젝트로 변환되는 것

  • 소스코드: 프로그래밍을 위한 일련의 텍스트들
  • 오브젝트 코드: 컴파일에 의해 생성된코드

프로그래머는 소스코드를 작성하는데, 이를 프로그래밍이라고도 한다. 즉, 소스코드는 개발자가 사용하는 언어에 따른 명령어들의 조합이라고 볼 수 있지만 명령어 실행을 위해서는 기계어 즉, 저레벨 언어로 쓰여져야만 하드웨어 제어가 가능하다.

저레벨 언어(low-level language)

  • 기계어, 어셈블리어를 의미
  • 고레벨언어보다 하드웨어와 더 밀접한 언어이다.

고레벨 언어(high-level language)

  • 프로그래밍에 좀 더 특화된 언어이다.
  • 기계어보다 좀 더 인간의 언어에 가깝다.
  • 저레벨 언어보다 읽기 쉬우며, 읽기 뿐만 아니라 쓰기, 유지보수에도 용이하다.
  • 즉, 프로그램을 생산하기 수월하다
  • 그러나 고레벨 언어는 기계어로 변환하기 위한 인터프리터나 컴파일러가 필수적으로 요구된다.

즉, 컴파일러는 고레벨 언어를 저레벨 언어로 변경하기 위해 필요한 장치 또는 도구라고 볼 수 있다.

프로그래밍 자체가 하드웨어를 제어하기 위해 탄생한 것으로 볼 수 있고 이를 조작하기 위해서는 기계어로 작성해야하지만, 기계어로는 프로그래밍을 작성하기 매우 까다롭기 때문에 인간에게 더 친숙한 고레벨 언어가 탄생하였고 이 고레벨 언어로 작성한 프로그램이 작동하기 위해서는 컴파일러가 필요한것이다.