선언형 프로그래밍❓

선언형 프로그래밍❓

iOS, Android 프레임워크 모두 SwiftUI, Compose와 같이 선언형 프로그래밍을 지원하는 라이브러리를 릴리즈했다.
프로그래밍 트렌드의 추세가 선언형 프로그래밍으로 향하는 것은 자명한 듯하다.
그렇기에 선언형 프로그래밍이 무엇인지에 대해 고찰해보려 한다.

선언형 프로그래밍이란 무엇인가? 선언형 프로그래밍을 이해하기 위해서는 명령형 프로그래밍과 비교하는 것이 도움된다. 명령형 프로그래밍은 코드로 로직이 어떻게 수행되어야 하는지를 표현하는 것이다. 반면에 선언형 프로그래밍은 코드로 로직이 수행하는 것이 무엇인지를 표현하는 것이다.
즉, 전자가 목표에 도달하기 위한 방법을 설명하고 목표는 명시하지 않는 것이라면, 후자는 목표가 무엇인지를 명시하고 그 목표에 도달하기 위한 방법은 명시하지 않는 것이다.

왜 선언형 프로그래밍🤔

그렇다면 왜 이렇게 많은 프레임워크에서 선언형 프로그래밍을 지원하기 시작했을까?
각 프레임워크마다 선언형 프로그래밍을 도입함으로서 얻을 수 있는 구체적인 장점이 존재하겠지만, 이 포스팅에서는 선언형 프로그래밍의 등장 배경에 비추어 선언형 프로그래밍이 최근에 각광받게된 이유를 알아보고자 한다.

참고 자료

A Note on Declarative Programming Paradigms and the Future of Definitional Programming Imperative vs Declarative Programming Imperative vs Declarative Programming - 한글 번역본