Post
KO

프로그래밍 패러다임

​

1938년, 앨런 튜링(Alan Turing)은 지금 우리가 컴퓨터 프로그래밍이라고 부르는 분야의 토대를 쌓았다.

튜링은 프로그래밍이 가능한 머신을 최초로 상상한 사람은 아니었지만, 프로그램을 단순히 데이터라고 이해한 최초의 사람이었다.

​

구조적 프로그래밍

​

구조적 프로그래밍은 제어흐름의 직접적인 전환에 대해 규칙을 부과한다.

​

객체지향 프로그래밍

​

객체 지향 프로그래밍은 제어흐름의 간접적인 전환에 대해 규칙을 부과한다.

​

함수형 프로그래밍

​

1958년 존 매카시(John McCathy)가 만든 LISP 언어의 근간이 되는 개념이 바로 이 람다 계산법이다. 람다 계산법의 기초가 되는 개념은 불변성으로, 심볼의 값이 변경되지 않는다는 개념이다.

​

함수형 프로그래밍은 할당문에 대해 규칙을 부과한다.

​

​

생각할거리

​

각 패러다임은 프로그래머에게서 권한을 박탈한다. 어느 패러다임도 새로운 권한을 부여하지 않는다.

각 패러다임은 부정적인 의도를 가지는 일종의 추가적인 규칙을 부과한다.

패러다임은 무엇을 해야 할지를 말하기보다는 무엇을 해서는 안 되는지를 말해준다.

​

예를들면, 세 가지 패러다임 감각은 우리에게서 goto문, 함수 포인터, 할당문을 앗아간다. 우리에게서 가져갈 수 있는게 더 남아 있는가?

아마 없을 것이다. 따라서 프로그래밍 패러다임은 앞으로도 딱 세 가지밖에 없을 것이다.

1958년부터 1968년에 걸친 10년 동안 모두 만들어졌다는 사실이고 그 이후로 수십 년이 지났지만, 새롭게 등장한 패러다임은 전혀 없다.

​

이러한 패러다임으로 얻을 수 있는 교훈은 아키텍처와 관계가 있다.

함수형 프로그래밍을 이용하여 데이터의 위치와 접근 방법에 대해 규칙을 부과한다. 우리는 모듈 기반 알고리즘으로 구조적 프로그래밍을 사용한다.

​

​

​

This article is licensed under CC BY 4.0 by the author.