본문 바로가기
ETC

DSL이란??

by 김짜이상 2022. 5. 11.

DSL이란??

Domain-Specific Launguages

도메인 특화언어 (DSL)

  • 도메인 특화 언어는 관련 특정 분야에 최적화된 프로그래밍 언어. DSL은 해당 분야 또는 도메인의 개념과 규칙을 사용.

도메인 특화 언어와 '진정한' 프로그래밍 언어와의 차이점

  • 도메인 특화 언어는 일반적으로 Java, C, Ruby 등의 범용 언어보다 덜 복잡합니다. 보통 DSL은 해당 DSL이 사용될 분야의 전문가와 긴밀하게 협력하여 개발합니다. 대부분의 경우 DSL은 소프트웨어 전문가가 아닌, 해당 DSL의 대상 분야에 능통한 비 프로그래머가 사용하도록 제작됩니다.

예시

  • SQL 처럼 DB의 데이터를 참조하기 위해 작성되는 query 는 말 그대로 "DB에 데이터를 참조하기 위한 목적"으로만 사용되며 SQL로 웹 애플리케이션 서버를 만드는 것은 절대 불가능 하다.

  • 반면 JAVA는 SQL을 만들어 낼 수도 있고 (사실상 SQL은 특정한 문법을 가진 문자열이기 때문이다) 웹 애플리케이션 서버를 만들 수도 있고, 그 외 원하는 모든 것을 만들어낼 수 있다.

  • 단지 다른 분야에선 다른 언어가 더 좋을 뿐이지 가능은 할 것이다.

-> SQL 처럼 어떤 목적이 있고, 그 목적만 달성할 수 있는 언어를 DSL이라고 한다.


출처 : https://www.jetbrains.com/ko-kr/mps/concepts/domain-specific-languages/, https://lannstark.tistory.com/13

반응형

'ETC' 카테고리의 다른 글

awscli 로 dynamoDB 사용하기  (2) 2023.10.20
AWS CLI 설치하기 & 계정 설정  (0) 2023.10.20