프로그래밍이란 개념에 대해 간단하게 정리가 되셨다면,
아래와 같은 의문점이 생기기 마련입니다.
'아하, 프로그래밍은 개발자가 컴퓨터에게 지시를 하기 위한 방식이구나!
그런데, 어떻게 컴퓨터와 소통을 하고 명령을 내릴 수 있을까?'
이번 포스팅에서는,
개발자가 프로그래밍을 위해 컴퓨터와 소통하는 방식인
프로그래밍 언어에 대하여 살펴보도록 하겠습니다.
프로그래밍 언어란?
프로그래밍 언어는 편의 대상에 따라 저 수준의 언어와 고 수준의 언어로 구분된다
지난 포스팅 내용 중 하나인
'땅콩잼 샌드위치 만들기' 영상을 기억하실까요?
여기서 아이들은 종이에 펜으로 꾹꾹 눌러가며
샌드위치를 만드는 방법, 즉 '레시피'를 건네게 됩니다.
비록, 땅콩잼 없는 땅콩샌드위치가 완성이 되었지만
여기서의 레시피는 특정 명령을 지시하는 일종의 '프로그램(Program)' 으로 볼 수 있습니다.
그런데 만약에,
미국인인 부모에게 한국어로 된 레시피를 적어 요청을 했다면 어땠을까요?
컴퓨터는 0과 1로 구성되어있다!?
- 컴퓨터는 기계어인 이진수, 즉 0과 1로 구성된 언어를 사용합니다.
- 위 예시에 이어서 대입해보자면, 미국인(컴퓨터)에게 한국어로 지시를 한다면?
- 샌드위치를 만들 시도조차 못한 채, 실패로 돌아갈 것입니다.
- 개발자는 컴퓨터에 지시를 하기 위해, 내가 이해하는 언어를 기계어(이진수)로 변환해야 합니다.

저 수준 언어
- 마치 '수준이 낮은 언어'로 해석되지만, 이는 일종의 ROOT가 되는 언어로 볼 수 있습니다.
- 기계어가 그 중 하나이며, 지극히 하드웨어에 가까운 언어입니다.
- 저 수준 언어는 크게 2가지 종류로 구분됩니다.
- 이진수로 구성된 기계어
- 개발자가 최소한 해석할 수 있을 정도의 언어, 어셈블리어(Assembly Language)

고 수준 언어
- 개발자, 즉 인간이 이해하고 사용할 수 있는 프로그래밍 언어입니다.
- 한 가지 예시를 살펴보겠습니다.
- 예시) 사람의 말을 강아지의 언어로 번역하는 기계가 있습니다.

- 영어는, 사람이 활용할 수 있는 언어이며 다양한 작업과 명령을 지시할 수 있습니다.
- 즉, 예시에서 영어는 '프로그래밍 언어' 이자, '고 수준' 언어입니다.
- 다만, 강아지가 이해할 수 있도록 중간 단계에서의 '번역기(Complier)'가 필요합니다.
- 즉, 고 수준언어를 활용한 프로그래밍 단계는 다음과 같습니다.
- 프로그래밍 언어(고 수준) ➟ 프로그래밍(코딩) ➟ 컴파일러(Complier) ➟ 기계어(저 수준) ➟ 동작
프로그래밍 언어의 개념, 그리고
그 종류 중에서도 컴퓨터 혹은 개발자의 편의에 따라
고 수준 / 저 수준 언어로 구분하여 살펴보았습니다.
사실, 프로그래밍 언어의 종류 및 특징은
- 패러다임
- 방법 혹은 목적
- 빌드(Build)유무
- 자료형 지정 유무
이렇게 다양한 기준에 따라 구분되고, 사용됩니다.
추후 포스팅에서는 조금 더 자세하고, 상세히 해당 개념을 다뤄보도록 하겠습니다.
'CS > Computer Basic' 카테고리의 다른 글
[CS/Basic] 그래서, 객체(Object)가 무엇인가요? (0) | 2022.12.29 |
---|---|
[CS/Basic] 좀 더 나은 프로그램을 위해, 프로그래밍 패러다임 (2) | 2022.12.26 |
[CS/Basic] 컴파일 에러와 런타임 에러는 언제 발생하나? (0) | 2022.12.06 |
[CS/Basic] 컴파일? 인터프린터? 빌드(Build) 유무에 따른 비교 (0) | 2022.12.05 |
[CS/Basic] 비 전공자가 이해하는 컴퓨터 프로그래밍과 코딩 (0) | 2022.12.02 |
댓글