본문 바로가기
발전로그/책장로그-개발

클린 아키텍처 - 소프트웨어 구조와 설계의 원칙 02 3장

by 4lleycat 2022. 1. 16.

프로그래밍 패러다임 개요

 

구조적 프로그래밍

최초로 적용된 패러다임

- 에츠러흐 비버 데이스크트라 "무분별한 점프(goto)는 프로그램에 해롭다"

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

goto -> if,then,else/do,while,until

객체지향 프로그래밍

알골언어의 함수 호출스택 프레임을 힙메모리 영역으로 옴기면 선언된 지역변수가 유지된다 발견.

이러한 과정에서 다형성을 발견.

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

함수형 프로그래밍

수학의 람다계산법의 영향을 받음.

LISP언어의 근간이 되는 람다계산법.

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

 

프로그램의 패러다임에 대해...

  • 구조적 프로그래밍에서는 goto 사용제한
  • 객체지향에서는 함수포인터(제어의 흐름) 규칙
  • 함수형에서는 할당문 규칙

각 프로그램의 패러다임들이 말하는 규칙을 부과한다라는 말은 어떻게 프로그래밍을 해라는 제시가 아닌

무엇을 하면 안되는지를 말하고 있다. (이후 장에서 좀더 깊게 다뤄질 예정입니다.)