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

내용 삭제됨 내용 추가됨
VolkovBot (토론 | 기여)
잔글 로봇이 더함: pl:Programowanie deklaratywne
특수분야의 튜링완전성 여부에 대한 내용을 좀 다듬었습니다. 특수언어라고해서 튜링완전성이 없는 것이 아니라 특수언어들의 요구사항에 튜링완전성이 보통 안 들어간다는 것이 더 정확
16번째 줄:
선언형 프로그래밍은 특수 분야 언어({{lang|en|Domain-specific language, DSL}})의 형태로 자주 사용된다. 여기서 "분야"이라는 것은 "언어의 사용 분야"(즉, 그 언어가 표현하는 소재)을 의미한다. 예를 들어, HTML은 특수 분야 언어이며, HTML의 영역은 웹페이지와 하이퍼텍스트이다. 특수 분야 언어의 다른 예로 [[설정 파일]], [[스프레드시트]], 그리고 심지어는 전자 메일("보낸이:", "받는이:" [[헤더 (정보 기술)|헤더]]는 처리문을 통하여 본다.)까지도 들 수 있다.
 
특수 분야 언어의 한 가지 결점은특징은 [[튜링 완전성]]이 없다는보장하지 것이다. 그 말은 할 수 없는 일이 있다는않는다는 것이다. 스프레드시트에서는 전자메일을 보낼 수 없고 전자메일을 이용하여 은행 계좌를 계산할 수 없다는 것이다. 이러한 이유로따라서 특수 분야 언어들은 때로보통 범용 언어에 ''내장''된다. 이렇게 하면 프로그래머가 특수 분야 언어가 힘을 발휘하는 분야에서 이것을 이용할 수 있고, 특수 분야 언어로 하기 어렵거나 불가능한 문제는 범용 언어를 이용할 수 있다.
 
범용 언어에 내장되지 않는 특수 분야 언어는 같은 프로그램을 작성할 때 내장된 언어보다 더 사용하기 쉬운 경우가 많은데 범용 언어가 지우는 복잡한 개념이 잘 추가되지 않기 때문이다.