[컴퓨터 구조] 소스 코드와 명령어

프로그래밍 언어로 작성한 소스 코드가 컴퓨터 내부에서 명령어로 변환되어 처리되는 과정

고급 언어와 저급 언어

우리가 사용하는 프로그래밍 언어는 컴퓨터가 이해하는 언어가 아닌 사람이 이해하기 쉽게 만들어진 언어

고급 언어, 저급 언어는 더 좋다 나쁘다가 아니라 사람이 이해하기 쉬운지 아닌지의 차이

고급 언어

  • 사람이 이해하고 작성하기 쉽게 만들어진 언어
  • 프로그래밍 언어들이 이에 해당

저급 언어

  • 컴퓨터가 이해하고 실행할 수 있는 언어

기계어

  • 01의 명령어 비트로 이루어진 언어
  • 2진수 또는 가독성을 위해 16진수로 표현
    27 BD FF F8
    20 20 00 0A
    20 21 00 02
    AF A1 00 00
    20 41 00 04
    AF A2 00 04
    27 BD 00 08
    

어셈블리어

  • 기계어를 사람이 읽기 편한 형태로 번역한 언어
  • 하드웨어와 밀접한 프로그램을 개발하는 개발자는 많이 이용
    push  rbp
    pop   rbp
    ret
    

컴파일 언어와 인터프리터 언어

고급 언어로 작성된 소스 코드는 저급 언어로 변환해야 컴퓨터가 이를 실행할 수 있는데
변환 방식에는 크게 컴파일 방식과 인터프리터 방식 두 가지가 있음

컴파일 언어

  • 컴파일러에 의해 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어
  • 소스 코드가 저급 언어로 변환 되는 과정을 컴파일이라고 함
  • 컴파일러가 소스 코드 내에서 오류를 하나라도 발견하면 컴파일에 실패
  • 인터프리터 언어보다 빠름
  • 프로그래밍 언어
    • C, C++, C#, Java 등

인터프리터 언어

  • 인터프리터에 의해 소스 코드가 한 줄씩 실행되는 고급 언어
  • 한 줄씩 실행하기 때문에 소스 코드 전체를 저급 언어로 변환하는 시간을 기다릴 필요가 없음
  • 오류가 있어도 그 전 줄까지는 올바르게 수행
  • 컴파일 언어보다 느림
  • 프로그래밍 언어
    • Python, JavaScript, Java 등

댓글남기기