*해당 글은 '혼자 공부하는 컴퓨터구조 + 운영체제(강민철 지음)'을 참고하여 작성되었습니다.
*구체적인 예시와 함께 더 자세히 공부하고 싶으신 분들은 해당 책을 읽어보시기를 추천드립니다.
컴퓨터는 '명령어를 처리하는 기계'입니다.
명령어를 통해 컴퓨터에게 특정 수행을 지시할 수 있습니다.
그렇다면 C, C++, Java, Python 같은 프로그래밍 언어로 만든 소스 코드는 무엇일까요?
이 소스 코드로 프로그래밍을 실행할 수 있는데 말이죠.
사실, 컴퓨터는 여러분들이 쓰는 프로그래밍 언어로 된 소스 코드 자체는 이해할 수 없습니다.
프로그래밍 언어는 인간을 위한 언어이기 때문이죠.
이전에 컴퓨터는 0과 1된 정보만 이해할 수 있다고 했었죠?
하지만 인간이 0과 1만으로 컴퓨터에게 지시하기는 굉장히 어려울 것입니다.
그래서 우리가 일반적으로 쓰는 프로그래밍 언어들이 있는 것이죠.
이렇게 사람을 위한 프로그래밍 언어를 고급 언어 (High-Level Programming Language)라고 합니다.
인간을 위한 고급 언어는 컴퓨터가 이해할 수 없다고 했죠?
고급 언어와 반대로, 컴퓨터가 이해하고 실행할 수 있는 언어를 저급 언어 (Low-Level Programming Language)라고 합니다.
만약 여러분이 고급 언어로 소스 코드를 작성했다면,
컴퓨터가 이를 실행하기 위해서는 반드시 이 소스 코드가 저급 언어, 즉 명령어로 변환되어야 합니다.
저급 언어에는 기계어와 어셈블리어가 있습니다.
- 기계어 (Machine Language) : 0과 1의 명령어 비트로 이루어진 언어
- 어셈블리어 (Assembly Language) : 0과 1로 된 기계어를 읽기 편한 형태로 번역한 언어
C, C++, Java, Python을 사용하는 경우에는 어셈블리어와 같은 저급 언어를 마주할 일이 별로 없습니다.
하지만 하드웨어와 직접적으로 관련되는 임베디드 개발자, 게임 개발자, 정보 보안 전문가의 경우에는 마주할 일이 많겠죠?
아까 여러분이 고급 언어로 작성한 소스 코드는 컴퓨터가 실행할 때 저급 언어로 변환된다고 했습니다.
이 변환 방식에는 크게 두 가지 방식이 있습니다.
바로 컴파일 방식과, 인터프리트 방식입니다.
이에 따라, 프로그래밍 언어를 컴파일 언어와 인터프리터 언어로 나누기도 합니다.
다음 시간에는 이 두 가지에 대해서 배워보도록 하겠습니다!
'컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조][기초] 명령어의 구조 - 연산 코드 (3) | 2025.03.11 |
---|---|
[컴퓨터구조][기초] 목적 파일, 실행 파일 (0) | 2025.03.10 |
[컴퓨터 구조][기초] 컴파일 언어, 인터프리터 언어 (1) | 2025.03.09 |
[컴퓨터구조][기초] 컴퓨터 구조 개요 (1) | 2025.03.07 |
[컴퓨터구조][기초] 컴퓨터 구조, 왜 배워야 할까? (1) | 2025.03.07 |