1. 고급 언어와 저급 언어

고급 언어

  • 사람이 쓰는 언어
  • 프로그래밍 언어

저급 언어

  • 컴퓨터가 쓰는 언어
  • 컴퓨터에서 실행되는 명령어

1-1. 고급 언어 high-level programming language

  • 컴퓨터가 아닌 사람이 이해하고 작성하기 쉽게 만들어진 언어
  • 대부분의 프로그래밍 언어가 고급언어에 속한다

1-2. 저급 언어 low-level programming language

  • 컴퓨터가 이해하고 실행할 수 있는 언어
  • 컴퓨터가 이해하고 실행할 수 있는 언어는 저급언어 뿐
  • 소스코드가 실행되려면 저급 언어인 명령어로 변환되어야 함

2. 기계어와 어셈블리어

저급 언어의 종류
[기계어]
0,1의 비트로 이루어진 언어
[어셈블리어]
기계어를 좀 더 읽기 쉽게 번역한 언어

2-1. 기계어

2-2. 어셈블리어

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

고급언어가 저급언어로 변환되는 방식

  • 컴파일 방식
  • 인터프리트 방식

3-1. 컴파일 언어

  • 컴파일 방식으로 작동하는 프로그래밍 언어

    컴파일

    • 컴파일 언어로 작성된 소스코드 전체가 저급 언어로 변환되는 과정

    컴파일러

    • 컴파일을 수행해주는 도구
    • 컴파일 도중 오류를 하나라도 발견하면 소스코드는 컴파일에 실패함

    목적 코드

    • 컴파일러를 통해 저급언어로 변환된 코드

3-2. 인터프리터 언어

  • 인터프리트 방식으로 작동하는 프로그래밍 언어
  • 인터프리터에 의해 소스 코드가 한 줄씩 실행되는 고급언어
  • 소스 코드 전체를 저급 언어로 변환하는 시간을 기다릴 필요는 없음
  • 컴파일 언어와 달리 소스 코드에 오류가 있더라도 그 전 줄까지는 올바르게 수행

    인터프리터

    • 소스 코드를 한 줄씩 저급 언어로 변환하는 도구

3-3. 컴파일 언어와 인터프리터 언어의 구분

  • 컴파일의 결과물인 목적코드는 컴퓨터가 실행가능한 저급언어임
  • 인터프리터 언어는 소스코드를 한 줄 한 줄씩 저급언어로 해석하며 실행해야 하기 때문에 일반적으로 컴파일 언어보다 느리다
  • 인터프리터 언어라고 컴파일을 하지 않는 것이 아님, 컴파일 언어라고 해서 인터프리트를 하지 않는 것이 아님. 경계가 모호하다
profile
개같이 발전하자 개발

0개의 댓글