도메인 특화 언어

도메인 특화 언어(Domain-specific language)는 특정한 도메인을 적용하는데 특화된 컴퓨터 언어이다. 이는 어느 도메인에서나 적용 가능한 범용 언어(General-purpose language)와는 반대되는 개념이다. 도메인 특화 언어에는 매우 넓은 다양성이 존재한다. HTML과 같이 웹페이지 분야에서 널리 쓰이는 언어가 있는가 하면, GNU Emacs 와 XEmacs를 위한 Emacs Lisp와 같이 한정된 분야에서 사용되는 언어도 있다. 도메인 특화 언어는 또한 언어의 종류로 세분화될 수 있다. 그리고 도메인 특화 마크업 언어, 도메인 특화 모델링 언어(일반적으로는, 설명 언어), 도메인 특화 프로그래밍 언어를 포함한다. 특정한 목적을 가지는 컴퓨터 프로그래밍 언어는 컴퓨터 역사에서 항상 존재해 왔으나, "도메인 특화 언어"라는 용어는 도메인 특화 모델링의 수요 증가로 더 알려지게 되었다.

범용 언어와 도메인 특화 언어의 경계선은 그리 분명하진 않다. 한 언어가 특정 도메인을 위해 특화된 기능을 가지고 있을 지라도 넓게 적용될 수 있고, 역으로 원칙적으로는 넓은 적용을 위한 설계였을 지라도 특정 도메인에서만 주로 사용될 수도 있다. 예를 들어, 펄은 원래 텍스트 프로세싱과 글루(glue) 언어를 위해 개발되었지만, 범용 프로그래밍 언어로 사용되었다. 반대로, PostScript는 튜링 완전한 언어로 원칙상으로는 어떤 작업에서도 사용 가능하지만 실제로는 페이지 설명 언어로 매우 좁은 분야에서 사용된다.

장점과 단점

장점 
 도메인 특화 언어는 도메인 수준에서 검증, 확인이 가능하다. 언어의 구조가 안정적이라면, 그 언어에서 쓰여진 문장은 그 분야의 사람들이 이해하는데 불편함이 없다.
 도메인 특화 언어는 비즈니스 정보 체계의 개발을 전통적인 소프트웨어 개발자들에게서 도메인에 깊은 지식을 가지고 있는 더 큰 도메인 전문가 그룹으로 옮기는데 도움을 준다.

단점 
 새로운 언어를 배워야 한다는 초기 비용과 매우 좁은 적용분야.
 도메인 특화 언어를 설계, 구현, 유지 하는데 드는 비용. 또한 그것으로 개발하기 위한 툴 개발 비용.
 예제를 찾아보기 힘듦.

같이 보기 
 메타 컴파일러
 메타 프로그래밍
 프로그래밍 도메인
 프로그래밍 패러다임
 다중 패러다임 프로그래밍 언어
 모델 중심 엔진이어링

 
프로그래밍 언어 분류