도메인 특화 언어(DSL)
- 관련 특정 분야에 최적화된 프로그래밍 언어
- 해당 분야 또는 도메인의 개념과 규칙을 사용
- 언어 지향 프로그래밍의 일종
- ex : Junit, 쿼리DSL
이점
- 언어와 변환 엔진을 갖추면 지루한 작업을 일일이 수행할 필요가 없어, 해당 DSL과 관련된 소프트웨어 개발의 특정 부분에서 훨씬 더 효율적으로 작업할 수 있다
- 중요하지 않은 복잡한 요소에서 필수 항목만 분리할 수 있다
- DSL은 프로그래머와 해당 분야의 전문가를 매우 원활하게 연결해준다
언어 지향 프로그래밍
- 언어 지향 프로그래밍은 개발자가 고유한 DSL을 빌드하거나 해당 접근 방식의 일부로 도메인 특화 개념을 사용하여 기존 언어를 확장하도록 뚜렷하게 권장한다