Computational Paradigms
계산 전형
* Paradigm을 "범주"라 해석하면 이해가 쉽다.
Procedural Language (절차식 언어) = Imperative Language (명령형 언어)
- 명령의 순차적 실행, 메모리 위치를 표현하는 변수의 사용, 변수의 값을 제어하는 배정문과 같은 문법을 사용하는 언어를 일컫는다.
- 계산의 순차적 실행이 Von-Neumann Bottleneck(폰 노이만 병목현상)을 야기하는 원인이 되기도 한다.
- 대규모 데이터의 동시 계산, Non-Deterministic(비결정적) 계산, 순서에 독립적인 계산작업 등에 비효율적이다.
- 위와 같은 한계점들을 극복하기 위해 Functional Lang.(함수형 언어)와 Logical Lang.(논리형 언어)가 개발되었다.
ex) C, Java, Modula-2, Ada, Pascal, Fortran, Basic 등과 같은 대부분의 PL
Non-Procedural Language (비절차식 언어)
- Fuctional L.(함수형 언어) 또는 Applicative L.(적용형 언어)가 이에 해당된다.
- 함수의 Evaluation(평가)와 함수 Apply(적용)만을 통해 Task를 구현해나가는 방식의 언어이다.
- 변수와 배정문이 없다.
- 반복 연산은 Loop가 아닌 Recursion 방식으로 구현된다.
728x90