고급언어와 저급언어
프로그래밍 언어란, 인간과 컴퓨터 사이에서 의사소통을 가능하게 하는 언어를 말한다.
컴퓨터는 기계어로 프로그램을 실행한다.
기계어는 0과 1로 이루어져 있다. 실제 사람들은 0과 1을 이해하기 힘들기 때문에 사람들에게 친화적인 언어들로 바꿔서 코딩한다.
기계와 가까운 언어를 저급 언어이고, 인간과 친화적인 언어가 고급 언어이다.
저급 언어
로우레벨 언어라고도 한다.
컴퓨터 프로세서와 직접적으로 통신하는 프로그래밍 언어이다.
사용자보다 컴퓨터 측면에서 개발한 언어이며 언어 수준이 낮아 2진수에 가까워 사람이 이해하기가 어렵다.
실행속도가 매우 빠르지만 배우기가 어렵고 유지보수가 힘들다. 그래서 최근에는 특수한 상황이 아니면 거의 사용되지 않는 언어이다.
저급 언어에는 기계어와 어샘블리어가 있다.
기계어
0과 1로만 이루어진 이진수 형태의 언어이다. 효율성은 높지만 매우 복잡하고 어려워 프로그래밍을 하는데 매우 어렵다.
기계어는 컴퓨터 종류에 따라서 다르고, 컴퓨터에 많이 의존한다.
2진수 기계어
1000 1011 0100 0101 1111 1000
가독성을 위해 16진법으로 변환
8b 45 f8
83 c4 0c
03 45 fc
어샘블리어
기계어의 명령들을 쉬운 기호로 나타낸 언어이다.
어샘블리어도 컴퓨터의 내부적인 구조와 연관되어 있기 때문에 컴퓨터들의 어샘블리어는 각각 다 다르다.
어샘블리어로 만들어진 프로그램은 어샘블러로 기계어로 번역된다.
1000 1011 => mov
고급 언어
사람이 이해하기 쉬운 프로그래밍 언어를 말한다.
고급언어는 메모리나 하드웨어를 컨트롤 하는 부분보단 프로그램 로직에 더 중점을 둔게 특징이다.
주된 프로그래밍 언어로 영어를 사용해 수정과 작성이 빠르다.
디버깅이 쉽고 특정 기계에 의존하지 않고 여러 종류에 기기에서 작동한다.
C언어나 Java, Python이 대표적으로 있다.
a = 1 + 2
컴파일러나 인터프리터로 번역이 되어 저급 프로그래밍 언어로 바뀐다.
C언어 같이 포인터의 개념이 들어가는 여러 언어들은 중급 언어라고 부르기도 한다.