Language

Glass·2022년 8월 4일
0

개념

목록 보기
1/1

Machine Language

  • 컴퓨터가 이해할 수 있는 유일한 언어
  • 운영 체제에 따라서 조금씩 차이가 있을 수 있다.
  • 운영 체제 내의 로직에 따라서 Compiler가 어떻게 Machine Language로 변환하는지가 결정
  • 일반적인 프로그램은 하나또는 그 이상의 프로그래밍 언어로 작성된다.
  • 컴퓨터는 프로그래밍 언어를 이해할 수 없기 때문에 작성한 코드를 Compile 단계를 거친다.
  • 코드작성 → Compile → Machine Language → 컴퓨터 실행

Assembly Language

  • 컴퓨터 프로세스를 다루기 위한 가장 기본적인 언어
  • 소프트웨어 개발자는 Assembly Language를 이용하여 오로지 CPU가 수행해야 할 작업에 관한 내용만을 명령내릴 수 있다.
  • Machine Language는 숫자들로만 이루어져 있어 사람이 일고 이해하기 힘들다.
  • Assembly Language를 이용하면, 사람이 읽고 이해할 수 있는 방식으로 거의 동일하게 작업할 수 있다.
  • 단점 : 컴퓨터가 수행하는 모든 작업을 세부적으로 명시해주어야만 한다
  • 장점 : 소프트웨어 개발자가 컴퓨터의 모든 작업 실행에 대한 전권을 갖고 있다는 점.

Low-level Language?

  • Assembly Language는 컴퓨터가 수행하는 모든 작업에 대해 1:1로 대응하는 수준으로 명령을 내리고 작업을 해야하므로 Low-level Language 이다.
  • 일반적으로 Assembly Language 프로그램은 한 줄에 한 가지의 명령을 컴퓨터에게 내림.

High-level Language

  • Low-level Language의 기능들을 조금 더 추상화하여 제공해준다.

  • 엔지니어는 어떻게 작업을 해야하는지보다는 무엇을 해야하는지에 더욱 집중할 수 있다.

  • High-level Language로 쓰여진 프로그램은 Assembly로 쓰여진 프로그램에 비해 절대적으로 성능이 떨어질 수 밖에 없는 태생적 한계가 있다

  • High-level Language로는 Python, Java, Javascript, Clojure 등

  • 크게 두가지 분류로 나눌 수 있다.

    예시

    영어밖에 할 줄 모르는 친구가 있다.

    친구에게 편지를 쓰기 위해 한국어와 영어를 모두 할 줄 아는 누군가에게 번역을 요청한다.

    번역가는 두 가지 방식으로 번역 작업을 할 수 있다.

    첫째로는 한국어로 쓴 편지를 외국인 친구한테 가져가서 한 문장, 한 문장 읽으며 동시에 한 문장, 한 문장 번역해서 읽어줄 수가 있다.

    둘째로는 편지를 사전에 모두 영어로 번역을 하여 영어로 된 편지를 작성하고 이미 완전히 번역된 편지를 그 친구에게 전달해 줄 수 있다.

    Compiled Language

    편지를 가져가서 한 문장, 한 문장 읽으면서 동시에 번역하는 상황과 유사하다.

    Interpreted Language

    사전에 번역해놓은 편지를 친구에게 전달해주는 것과 유사하다.

0개의 댓글

관련 채용 정보