ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로그래밍 패러다임의 필요성
    Q 2023. 5. 5. 17:45

    패러다임이란?

    패러다임(영어: paradigm)은 어떤 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 테두리로서의 인식의 체계, 또는 사물에 대한 이론적인 틀이나 체계를 의미하는 개념이다. - 위키피디아

     

    프로그래밍에서 패러다임이란?

    프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 해 주고, 결정하는 역할을 한다. 예를 들어 객체지향 프로그래밍은 프로그래머들이 프로그램을 상호작용하는 객체들의 집합으로 볼 수 있게 하는 반면에, 함수형 프로그래밍 상태값을 지니지 않는 함수값들의 연속으로 생각할 수 있게 해준다. - 위키피디아: 프로그래밍 패러다임

    -> 프로그램을 어떻게 바라보고 설계할 것인가? 를 위해 패러다임이 필요함. 여러가지 패러다임을 알고 있다면 그 중에서 더 간결하고 단순하게 설명하고 있는 관점을 선택적으로 취할 수 있게 된다.

     

     

    1. 반응형 프로그램

    반응형 프로그래밍이란, 데이터의 흐름과 변경사항의 전파에 중점을 둔 선언적 프로그래밍 패러다임이다.

    ex. 엑셀 수식, 값이 변경되면 수식에 따라 셀의 값이 자동으로 변경된다. 

     

    웹 프레임워크의 본질을 반응형 프로그래밍 패러다임 의 관점에서 다시 한번 적어봅시다.

    Web Framework의 본질 (MVVM 패턴)
    Change Detection + Binding + Template + Auto Render = Reactive
    즉, 값이 변경되었을때 템플릿에 선언 해둔대로 알아서 렌더링을 해준다 = 반응형

     

     

    반응형 프로그래밍 패러다임으로의 전환

    이렇듯 웹 프로그래밍은 데이터를 가져와서 화면을 만드는 방향에서 무엇을 할지 선언을 하고 변경된 데이터를 감지하고 전파하는 방향으로 패러다임이 변해왔습니다.

     

    명령형 프로그래밍 vs 선언적 프로그래밍

    명령형 프로그래밍이란? - 어떻게 하는지 알고리즘으로 묘사, 시간 순서대로, 가장 일반적인 스크립트 코드 

    선언적 프로그래밍이란? - 무엇을 해야할지 따로 약속(표현)을 만들어 기술하게 하고, 언제 어떻게 동작하는지는 내부에 처리하는 방식의 프로그래밍 기법

     

    2. 비동기 프로그래밍과 반응형 프로그래밍

    왜 프론트엔드 프로그래밍에서 반응형 프로그래밍이 중요할까요? 그것은 비동기 프로그래밍 을 잘하기 위해서입니다.

    비동기 프로그래밍은 상당히 어렵습니다. 하지만 프론트엔드의 대부분의 로직이 비동기로 되어 있습니다. 우리는 서버를 상대하는 사람이며 서버의 응답이 언제 어떻게 올지는 예측할 수 없기 때문입니다.

     

     

    비동기 프로그래밍은 다음과 같은 이유로 어렵습니다.

    1. 비동기 프로그래밍은 작성한 코드 순서대로 동작하지 않는다.
    2. 언제 실행이 될지 예측할 수 없다.
    3. 호출한 순서대로 동작한다는 보장도 없다.
    4. 그래서 호출 당시의 값과 실제 실행 되었을 때의 값이 그대로일 거라는 보장이 없다.

     

     

    출처: https://velog.io/@teo/reactive-programming

    'Q' 카테고리의 다른 글

    instance 메서드 vs class 메서드  (0) 2023.05.05
Designed by Tistory.