-
프로그래밍 패러다임의 필요성Q 2023. 5. 5. 17:45
패러다임이란?
패러다임(영어: paradigm)은 어떤 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 테두리로서의 인식의 체계, 또는 사물에 대한 이론적인 틀이나 체계를 의미하는 개념이다. - 위키피디아
프로그래밍에서 패러다임이란?
프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 해 주고, 결정하는 역할을 한다. 예를 들어 객체지향 프로그래밍은 프로그래머들이 프로그램을 상호작용하는 객체들의 집합으로 볼 수 있게 하는 반면에, 함수형 프로그래밍은 상태값을 지니지 않는 함수값들의 연속으로 생각할 수 있게 해준다. - 위키피디아: 프로그래밍 패러다임
-> 프로그램을 어떻게 바라보고 설계할 것인가? 를 위해 패러다임이 필요함. 여러가지 패러다임을 알고 있다면 그 중에서 더 간결하고 단순하게 설명하고 있는 관점을 선택적으로 취할 수 있게 된다.
1. 반응형 프로그램
반응형 프로그래밍이란, 데이터의 흐름과 변경사항의 전파에 중점을 둔 선언적 프로그래밍 패러다임이다.
ex. 엑셀 수식, 값이 변경되면 수식에 따라 셀의 값이 자동으로 변경된다.
웹 프레임워크의 본질을 반응형 프로그래밍 패러다임 의 관점에서 다시 한번 적어봅시다.
Web Framework의 본질 (MVVM 패턴)
Change Detection + Binding + Template + Auto Render = Reactive
즉, 값이 변경되었을때 템플릿에 선언 해둔대로 알아서 렌더링을 해준다 = 반응형반응형 프로그래밍 패러다임으로의 전환
이렇듯 웹 프로그래밍은 데이터를 가져와서 화면을 만드는 방향에서 무엇을 할지 선언을 하고 변경된 데이터를 감지하고 전파하는 방향으로 패러다임이 변해왔습니다.
명령형 프로그래밍 vs 선언적 프로그래밍
명령형 프로그래밍이란? - 어떻게 하는지 알고리즘으로 묘사, 시간 순서대로, 가장 일반적인 스크립트 코드
선언적 프로그래밍이란? - 무엇을 해야할지 따로 약속(표현)을 만들어 기술하게 하고, 언제 어떻게 동작하는지는 내부에 처리하는 방식의 프로그래밍 기법
2. 비동기 프로그래밍과 반응형 프로그래밍
왜 프론트엔드 프로그래밍에서 반응형 프로그래밍이 중요할까요? 그것은 비동기 프로그래밍 을 잘하기 위해서입니다.
비동기 프로그래밍은 상당히 어렵습니다. 하지만 프론트엔드의 대부분의 로직이 비동기로 되어 있습니다. 우리는 서버를 상대하는 사람이며 서버의 응답이 언제 어떻게 올지는 예측할 수 없기 때문입니다.
비동기 프로그래밍은 다음과 같은 이유로 어렵습니다.
- 비동기 프로그래밍은 작성한 코드 순서대로 동작하지 않는다.
- 언제 실행이 될지 예측할 수 없다.
- 호출한 순서대로 동작한다는 보장도 없다.
- 그래서 호출 당시의 값과 실제 실행 되었을 때의 값이 그대로일 거라는 보장이 없다.
'Q' 카테고리의 다른 글
instance 메서드 vs class 메서드 (0) 2023.05.05