선언형 프로그래밍: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Chobot (토론 | 기여)
잔글 robot Adding: cs:Deklarativní programování; cosmetic changes
RyanS.Ryu (토론 | 기여)
잔글편집 요약 없음
7번째 줄:
이 두가지 정의는 서로 겹치는 부분도 있다. 특히, 제한형 프로그래밍과 논리형 프로그래밍은 필요한 해의 특성을 설명하고(무엇) 그 해를 찾는데 사용하는 실제 알고리즘은 설명하지 않는다(어떤 방법). 그러나 대부분의 논리형과 제한형 언어들은 알고리즘을 설명할 수 있고, 상세한 부분을 구현할 수 있어서 첫 번째 정의를 따르는 엄밀한 의미의 선언형 프로그래밍 언어는 아니다.
 
마찬가지로, 명령형 프로그래밍 언어로 선언형으로 프로그램을 작성할 수도 있다. 라이브러리나 프레임워크 내부의 비선언형 부분을 [[캡슐화]]하여 이렇게 할 수 있다. 이런 형태의 예가 [[제이유닛]] [[유닛 테스트]] 프레임워크에 반영되어 쓰이고 있는데, 이것은 정의만 되어 있으면 프레임워크로 등록하여 유닛을 테스트하는 것을 가능하게 한다.
 
선언형 프로그램에서는 그 언어의 표준 알고리즘으로 처리되는 자료 구조를 작성하거나 선언한다. 예를 들어서 웹페이지를 작성한다고 하면, 페이지가 [[HTML]]에서 무엇을 보여주어야 하는지를 선언하고 브라우저의 절차적 알고리즘이 이것을 화면에 표시할 점들로 변환한다.