객체지향 언어의 경우 명령형 언어의 확장사항으로 보기도 합니다.
언어의 다른 유형인 visual language는 명령형 언어의 sub-category 입니다. 가장 널리 사용되고 있는 visual language는 .NET 언어입니다.
script 언어(JS, Ruby, Perl) 역시 명령형 언어입니다.
Markup 언어는 프로그래밍 언어라고 할 수 없으며, 예를들어 HTML은 몇 프로그래밍 기능이 포함되어 있으나 Web에서 정보의 구조를 명세하는데 사용됩니다.
선언형 프로그래밍과 반대되는 개념으로, 프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명하는 프로그래밍 패러다임의 일종이다. (wikipedia)
출처: https://learn.microsoft.com
Functional programming vs imperative programming
함수형 프로그래밍 패러다임(functional programming paradigm)은 순수 함수형 접근 방법(pure functional approach)으로 문제를 해결하기 위해 고안되었습니다. 함수형 프로그래밍은 선언형 프로그래밍의 일종입니다.
명령형 프로그래밍에서, 개발자는 컴퓨터가 목표를 달성하기 위해 수행해야 하는 단계들을 명시한 코드를 작성하며, 때때로 이는 algorithmic programming이라고 불립니다.
이와 대조적으로 함수형 접근법에서는 문제를 실행될 함수들로 구성하기도 합니다.
| 특성 | 명령형 접근 방식 | 함수형 접근 방식 |
|---|---|---|
| 프로그래머 초점 | 작업(알고리즘) 수행 방법 및 상태 변경 추적에 초점 | 원하는 정보 및 필요한 변환에 초점을 둠 |
| 상태 변경 | 중요함 | 존재하지 않음 |
| 실행 순서 | 중요함 | 낮은 중요도 |
| 주요 흐름 제어 | 반복문, 조건문, 함수 호출 | 함수 호출, 재귀 포함 |
| 주요 조작 단위 | 구조체나 클래스 인스턴스 | 함수 (일급 객체) 및 데이터 컬렉션 |