프로그래밍 언어, Programming Language
프로그램과 프로그래밍 언어
프로그램이란? 컴퓨터가 실행해야할 명령과 순서를 쓴 문서
이러한 문서를 작성하는 언어가 바로 프로그래밍 언어!
컴퓨터는 0과 1밖에 모르는데 어떻게 인간의 언어(글)이 해석될 수 있을까
컴퓨터에서 프로그램이 해석되는 과정은 다음과 같다.
인간이 C, Java, Javascript 등으로 프로그램을 작성한다.
인간의 언어로 된 이 프로그램을 컴퓨터가 읽을 수 있는 기계어로 변환한다.
컴퓨터는 0과 1로 변환된 프로그램을 읽어 실행한다.
예를 들어보자
인간이 작성한 프로그램은 다음과 같이 명령어와 데이터의 무수한 나열일 것이다.
참고) 명령어를 오퍼레이터, 데이터를 오퍼핸드라고 한다.
ADD
등의 명령어 문자는 OPCODE 에 의해서 4자리 이진수로 정의가 되어있다.따라서 아래의 프로그램은 각각 화살표와 같이 변환되어 컴퓨터에 의해 읽힐것이다.
프로그래밍 언어의 Level
인간의 언어와 비슷할수록 고수준언어, 컴퓨터가 해석하기 쉬울수록 저수준언어라고 한다.
컴퓨터 | ←→ | 인간 |
---|---|---|
기계어 | 저수준언어 | 고수준언어 |
에셈블리어 | C언어, C#, Java, Python, Go 등 |
코딩을 할 때 발생하는 일
프로그래밍 언어로 코딩을 한다.
프로그램을 빌드하여 컴파일 되면 개발자가 작성했던 인간의 언어가 기계어로 변환된다.
컴퓨터는 바로 이 기계어를 읽는 것이다.
정적언어(컴파일) vs. 동적언어(인터프리터)
정적언어 | 동적언어 | |
---|---|---|
해석과정 | 코딩 → 빌드 → 기계어 | 코딩 → 빌드로 인한 중간상태 |
특징 | 전체 프로그램의 컴파일 과정을 거친다. | 프로그램을 읽을 때 필요한 부분만 중간중간 기계어로 변환해서 읽는다. |
대표언어 | C, C++, Go | Java, Python, C#, Javascript |
돈까스에 비유 | 돈까스를 처음부터 모두 잘라서 찍어먹는 것 | 돈까스를 한조각씩 잘라서 먹는 것 |
속도 | 한꺼번에 컴파일된 내용을 읽기만 하면 되니까 빠르다 | 그때그때 해석해야하기에 느리다 |
Last updated