프로그래밍 언어론 프로그래밍 언어의 분류
프로그래밍 언어의 분류
명령형 언어
변수와 배정문과 같이 기억장소를 참조하는 명령으로 기억장소의 내용을 조작하여 계산 과정을 수행하는 언어로 프로그램의 상태를 어떻게 변화 시키는가를 지시하기 위한 명령을 주제로 한 언어라고 할 수 있다.
거의 대부분의 컴퓨터 하드웨어는 명령형으로 구현된다. 거의 모든 컴퓨터 하드웨어들이 컴퓨터의 고유 언어인 기계어를 실행하도록 설계되어 있는데, 이것이 명령형으로 씌어 있다. -출처:[위키백과]
함수 언어
프로그램에 의한 계산 과정은 컴퓨터 구조와 독립적으로 생각할 수 있다. 명령형 언어와 달리 함수 언어에서는 기억 장소의 상태에 대한 개념이 존재 하지 않는다.
수학의 함수는 정의상 입력이 같으면 출력도 같다. 그러니까 f(x)=x+1 인 함수를 정의했다면 f(1)=2다. 다른 값은 절대 나오지 않는다. 함수형 언어의 함수도 마찬가지다.
int inc(int a) { static int c=0; c=c+a; return c; }
이 함수에 1을 넣어 여러 번 호출하면 1, 2, 3, 4, 5, …가 나온다. 순수 함수형 언어는 이게 안된다는 얘기다. 출처:[나무위키]
논리 언어
논리 언어는 모델의 계산을 위해 기호 논리와 집합론을 이용한다. 컴파일-링크-실행의 사이클을 갖지 않는 대화형 언어에 해당한다.
객체 지향 언어
프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 ‘객체’라는 기본 단위로 나누고 이 객체들의 상호작용으로 서술하는 방식이다. 출처:[나무위키]