개발 공부/Kotlin 코틀린

Kotlin DSL에 대해 공부해보기 (1)

밍혁팟 2022. 9. 21. 10:32

오늘은 Kotlin DSL에 대해 알아보기 전에 DSL에 대해 알아보자

 

DSL


먼저 도메인 특허 언어(DSL)이란 "Domain Specific Language"의 약어로 관련 특정 분야에 최적화된 프로그래밍 언어이다.

 

DSL과 일반 프로그래밍 언어와의 차이점은 무엇일까?

- DSL은 Java, C 등과 같은 범용언어 보다는 덜 복잡하고 전문가가 아닌 해당 DSL의 대상 분야에 능통한 비 프로그래머가 사용되도록 제작된다는 차이점이 있습니다.

 

그럼 장단점으론 무엇이 있을까

 

장점

- 언어와 변환엔진을 갖추면서 일일이 수행할 필요가 없어지면서 더 효율적으로 작업할 수 있다.

- 추상성을 제거하고 효율적인 코드를 생성하므로 런타임 오버헤드 없이 도메인에 특화된 추상적 개념을 사용할 수 있다.
- 해당 도메인에 따라 긴밀히 조율된 언어로 도메인 문제를 표현할 방법이 있는 경우, 작성 코드가 구현 세부 정보로 복잡해지지 않기 때문에 더 명확하게 판단할 수 있다.

- 전문가와 협력하여 개발되었기때문에 프로그래머와 해당 분야의 전문가를 매우 원할하게 연결해 준다.

- 대상 플렛폼에서 자유로운 DSL 코드로 애플리케이션 로직을 표현할 수 있습니다.

- 버그는 줄고 구조적 적합성이 향상되며 유지보수의 편의성이 높아지면서 제품의 품질이 향상시킬 수 있습니다.

 

단점

- 새로운 언어를 배워야 한다는 초기 비용과 매우 좁은 적용분야

- 도메인 특화 언어를 설계, 구현, 유지 하는데 드는 비용. 또는 그것을 개발하기 위한 툴 개발 비용이 많이든다.

- 예제를 찾아보기가 힘들다.

 

출처

https://ko.wikipedia.org/wiki/%EB%8F%84%EB%A9%94%EC%9D%B8_%ED%8A%B9%ED%99%94_%EC%96%B8%EC%96%B4

https://www.jetbrains.com/ko-kr/mps/concepts/domain-specific-languages/

'개발 공부 > Kotlin 코틀린' 카테고리의 다른 글

Kotlin DSL에 대해 알아보기 (2)  (0) 2022.09.27