본문 바로가기
책/혼공 컴퓨터구조+운영체제

컴퓨터 구조 - 고급언어(컴파일언어,인터프리터언어)와 저급언어(기계어, 어셈블리어)

by 코딩하는 돼징 2023. 11. 2.
반응형

고급 언어로 작성된 소스코드가 실행되려면 반드시 저급 언어 즉 명령어로 변환되어야 한다.


 

저급언어(low-level programming language)

컴퓨터가 이해하고 실행하는 언어

01 기계어(machine-code)

컴퓨터가 직접 실행할 수 있는 가장 낮은 수준의 언어이다. 이진 형태로 표현되며 컴퓨터 하드웨어의 명렁어와 데이터를 직접 나타낸다. 가독성을 위해 16진수로 표현하기도 한다.

 

 02 어셈블리어(assembly language)

기계어를 사람이 이애하기 쉽게 번역한 언어이다. 어셈블리어는 각 기계어 명령어에 대응되는 기호를 사용하여 작성한다.

이 언어로 프로그램을 작성하는 것 뿐만 아니라 컴퓨터가 프로그램을 어떤 절차로 작동하는지 근본적인 단계에서부터 하나하나 추적하고 관찰할 수 있기 때문에 중요한 언어로 여겨진다.

어셈블리어 아래 사진 참조

 

어셈블리어 눈으로 확인하러 가기

 

Compiler Explorer

 

godbolt.org


고급언어

개발자가 이해하기 쉽게 만든 언어

01 컴파일 언어

컴파일 언어로 작성된 소스코드는 컴파일러에 의해 저급언어로 변환되고(이 과정이 컴파일) 컴파일 결과로 저급언어인 목적코드가 생성된다. C, C++, C#이 여기에 해당된다.

소스 코드 컴파일 중 오류가 발생하면 소스 코드 전체가 실행되지 않는다.

 

02 인터프린터 언어

코드를 소스 코드 형태로 읽고 한줄 씩 해석하여 실행된다. JavaScript, Python, Ruby등이 해당된다.

소스코드 전체가 저급언어로 변환되기까지 기다릴 필요 없다.

소스 코드 인터프리트 중 오류가 발생하면 오류 발생 전까지의 코드 실행한다.

 


모든 고급 언어 즉 모든 프로그래밍 언어들이 전부 다 컴파일 언어 아니면 인터프리트 언어로 양분되는 개념인가요?

아니다.

C, C++, C#과 같이 명확하게 구분할 수 있는 언어도 있으나 경계가 모호한 경우도 있다. pYTHON도 컴파일을 하지 않는 것은 아니며 Java의 경우 컴파일과 인터프리트를 동시에 수행한다.

 

 

 

 

참고 :  본 내용은개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제강의를 수강하여 작성하였습니다.

https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard

반응형

댓글