RxSwift 0.들어가기 전에

들어가기 전에

ReactiveX를 이해하기 위해서는 먼저 프로그래밍 패러다임 (Programming Paradigm)에 대해 이해햐여야 합니다.

프로그래밍 패러다임 (Programming Paradigm)

프로그래밍 패러다임의 개념

프로그래밍 패러다임의 정의를 찾아보면 아래와 같습니다.

Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms.

프로그래밍 패러다임이란 각 언어가 가지는 특징에 맞게 프로그래밍 언어를 분류하는 일종의 방법론이다. 언어는 여러개의 패러다임으로 분류 될 수 있다.

출처 : 위키피디아

프로그래밍 패러다임이란 일종의 이론적인 방법론이며, 객체 지향 프로그래밍 (Objective Oriented Programming), 함수형 프로그래밍 (Functional Programming) 과 같은 것들이 모두 프로그래밍 패러다임 중 하나입니다.

과거, 1개의 언어는 1개의 특징적인 패러다임을 기반으로 설계된 것과 달리 최근에 만들어진 프로그래밍 언어는 다양한 패러다임(Multi-paradigm) 개념을 기반으로 프로그래밍 될 수 있도록 설계되고 있습니다. Swift도 프로토콜 지향(protocol-oriented), 객체 지향 (object-oriented), 함수형 (functional), 명령형 (imperative), 선언형 (declarative) 패러다임의 개념을 포함하는 Muti-Paradigm 언어입니다.

프로그래밍 패러다임의 종류

프로그래밍 패러다임은 크게 명령형(imperative)선언형(declarative)으로 분류되며, 절차 지향 (procedural), 객체 지향 (object-oriented), 함수형(functional), 논리(logic) 등의 패러다임들도 세분화 됩니다.

명령형(imperative) 프로그래밍

객체 지향 (object-oriented) 프로그래밍

선언형(declarative) 프로그래밍

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

You know imperative programming is like HOW you do something, and declarative programming is more like WHAT you do, or something.

명령형 프로그래밍은 “어떻게” 할지를 프로그래밍하고, 선언형 프로그래밍은 “무엇”을 할지를 프로그래밍한다.

출처 : Imperative vs Declarative Programming

자료 출처