프로그래밍 언어는 컴퓨터가 이해하는 언어가 아닌 사람이 이해하고 작성하기 쉽게 만들어진 언어다. 이러한 언어를 고급언어(high-level programming language)라고 한다.
이와는 반대로, 컴퓨터가 직접 이해하고 실행할 수 있는 언어를 저급언어(low-level programming language)라고 한다.
컴퓨터가 이해하고 실행할 수 있는 언어는 저급언어 뿐이다.
저급언어의 종류
- 기계어
- 0과 1의 명령어 비트로 이루어져있다.
- 어셈블리어
- 0과 1로 표현된 기계어를 읽기 편한 형태로 번역한 언어가 어셈블리어다.
개발자가 어셈블리어를 이용해 복잡한 프로그램을 만드는일은 쉽지 않다. 그래서 고급언어가 필요하다
고급언어의 장점
- 사람이 읽고 쓰기 편하다
- 더 나은 가독성
- 변수나 함수 같은 편리한 문법 제공
컴파일 언어와 인터프린터 언어
고급언어 -> 저급언어로 변환되는 방식은 두가지가 존재한다. 컴파일방식과 인터프리트 방식이다.
컴파일언어는 컴파일러에 의해 소스 코드 전체가 저급언어로 변환되어 실행되는 고급언어다. 대표적인 언어는 C언어다. 소스 코드 전체가 저급 언어로 변환되는 과정을 컴파일(compile)이라고 한다. 그 후 컴파일을 수행해 주는 도구를 컴파일러(compiler)라고 한다.
즉, 컴파일러는 개발자가 작성한 소스 코드 전체를 훑고, 소스 코드에 문법적인 오류가 있는지 확인을 한다. 만약 오류를 발견한다면 컴파일에 실패한다.
성공적으로 컴파일러를 통해 저급 언어로 변환된 코드를 목적코드(object code)라고 한다
인터프리터 언어는 한 줄씩 실행되는 고급언어다. 대표적인 언어로는 Python, Javascript가 존재한다. 한 줄 씩 실행되기 때문에 소스 코드 N번째 오류가 존재한다면, N번째 -1까지 올바르게 수행된다.
빠르기는 컴파일 > 인터프리터다.
'혼자 공부하는 컴퓨터구조 + 운영체제' 카테고리의 다른 글
명령어 사이클과 인터럽트 (0) | 2022.10.05 |
---|---|
CPU 작동원리 (0) | 2022.10.05 |
연산코드와 오퍼랜드 (0) | 2022.09.29 |
데이터 (0) | 2022.09.25 |
컴퓨터 구조와 운영체제 왜 공부해야할까? (0) | 2022.09.24 |