안녕하세요
오늘은 프로그래밍 언어에서 저급 언어와 고급 언어의 차이에 대해서 알아보도록 합시다
우선 프로그래밍 언어의 정의는 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 형식 언어입니다
이 프로그래밍 언어는 크게 저급 언어 (low-level language)와 고급 언어 (high-level language)로 나누어 집니다
여기서 저급과 고급이라는 단어는 우리가 알고 있는 저급, 고급의 개념과는 살짝 다릅니다
일반적으로 저급이면 안 좋고, 고급이면 좋다고 생각하는데 프로그래밍 언어에서 저급과 고급은 기계 또는 사람이 이해하기 쉬운 지를 상대적으로 나눈 개념입니다
그러니까, 기계 (또는 컴퓨터)가 이해하기 쉬운 언어는 저급 언어, 사람이 이해하기 쉬운 언어는 고급 언어라고 볼 수 있습니다
저급 언어 (low-level programming language)
저급 언어 (low-level programming language)는 앞서 말했듯이 기계 중심의 언어로 기계 또는 컴퓨터가 이해하기 쉽게 작성된 프로그래밍 언어입니다
정확하게는 컴퓨터 프로세서와 직접적으로 통신하는 것을 허용하는 프로그래밍 언어입니다
하드웨어에 관련된 직접제어가 가능하지요
일반적으로 기계어 (machine language)와 어셈블리어 (assembly language)를 말합니다
간단하게 기계어와 어셈블리어를 알아봅시다
컴퓨터는 0과 1로 이루어진 이진수 형태로 동작한다는 이야기를 들어보신 적이 있으실 겁니다
0과 1로만 이루어진 이진수 형태의 언어를 바로 기계어라고 합니다
어셈블리어는 어려운 기계어의 명령들을 비교적 쉬운 기호로 나타낸 것인데 이 어셈블리어는 컴퓨터에 직접적으로 명령을 내리는 기계어와는 다르게 어셈블러 (assembler)라는 번역기에 의해 기계어 명령으로 바뀐 후에 컴퓨터에 명령을 내리게 됩니다
이 저급 언어의 장점으로는 실행속도가 매우 빠릅니다
하지만, 기계가 이해하기 쉽게 작성된 만큼 사람은 이해하기 힘들기 때문에 상당한 지식과 노력이 필요해 배우기가 어렵고 유지보수가 매우 힘든 것이 단점입니다
그래서 현재는 특수한 경우가 아니면 사용이 되지 않습니다
고급 언어 (high-level programming language)
고급 언어 (high-level-programming language)는 저급 언어와는 다르게 컴퓨터보다 사람이 알기 쉽도록 작성된 프로그래밍 언어입니다
컴파일러나 인터프리터에 의해서 저급 언어로 번역된 뒤에 실행됩니다
C언어, JAVA, Basic 등 대부분의 프로그래밍 언어들이 이 고급 언어에 속합니다
고급 언어의 장점으로는 하드웨어에 관련된 지식이 부족해도 프로그램을 작성할 수 있고, 프로그램을 생산하기 수월합니다
그리고 일상적인 언어 (영어 등), 기호 등을 그대로 이용하기 때문에 수정이 쉽고, 코드 작성이 빠릅니다
하지만 기계어로 변환하는 과정이 필수이기 때문에 인터프리터나 컴파일러가 필수적으로 요구되는 것이 단점입니다
고급 언어를 실행하는 데에는 일반적으로 3가지 방식이 있는데 해석(interpret), 컴파일(compile), 소스 대 소스 번역 (source-to-source) 중에 한 가지가 쓰입니다
현재 널리 쓰이고 있는 대부분의 프로그래밍 언어들은 모두 고급 언어라고 볼 수 있습니다
참고 및 출처
- 위키백과
- 해시넷
- TCP School
- Velog (@andthensome)
'Programming' 카테고리의 다른 글
. (0) | 2024.01.17 |
---|---|
Windows에서 Ubuntu Linux 22.04 LTS VM 구축하기 (0) | 2023.12.17 |
python으로 디스코드 봇 만들기 (discord.py) (0) | 2023.12.11 |
카카오톡 급식 알림 채널 만들기 #1 (0) | 2022.07.10 |
[JAVA] Windows 10 에서 자바 설치하기 (0) | 2021.12.24 |
댓글