CWN(CHANGE WITH NEWS) - 도메인 특화 언어 ′DSL′, 어떤 특징 있을까?

  • 구름많음강화0.1℃
  • 구름조금북강릉0.1℃
  • 맑음영천-5.9℃
  • 맑음영덕-0.4℃
  • 맑음금산-7.6℃
  • 맑음합천-6.9℃
  • 맑음정읍-5.1℃
  • 흐림철원-5.4℃
  • 흐림거창-9.3℃
  • 흐림제천-7.3℃
  • 맑음양산시-1.1℃
  • 맑음목포-1.3℃
  • 구름많음북춘천-5.2℃
  • 맑음김해시-1.7℃
  • 맑음세종-5.2℃
  • 흐림양평-3.8℃
  • 맑음통영-0.4℃
  • 흐림천안-6.2℃
  • 맑음남해-1.4℃
  • 맑음순천-8.1℃
  • 맑음울산-1.4℃
  • 구름조금서귀포6.8℃
  • 맑음청주-3.8℃
  • 맑음부안-3.4℃
  • 맑음청송군-10.6℃
  • 맑음거제-1.9℃
  • 맑음의성-9.2℃
  • 흐림임실-7.6℃
  • 맑음충주-6.5℃
  • 흐림홍성-0.5℃
  • 맑음고창군-4.7℃
  • 흐림홍천-4.2℃
  • 맑음동해1.0℃
  • 구름조금고산5.4℃
  • 맑음광양시-2.1℃
  • 맑음안동-8.0℃
  • 구름조금성산4.3℃
  • 맑음순창군-6.9℃
  • 맑음밀양-6.4℃
  • 구름많음서울-0.5℃
  • 맑음대전-4.9℃
  • 맑음진도군-4.5℃
  • 흐림인제-5.8℃
  • 흐림정선군-11.1℃
  • 맑음영광군-5.4℃
  • 맑음진주-6.5℃
  • 맑음고흥-6.8℃
  • 맑음창원-0.1℃
  • 맑음여수-0.1℃
  • 맑음구미-5.8℃
  • 맑음부여-6.5℃
  • 흐림서산0.2℃
  • 맑음보은-7.9℃
  • 맑음함양군-8.5℃
  • 맑음의령군-9.1℃
  • 맑음장수-9.2℃
  • 맑음산청-7.6℃
  • 흐림원주-5.2℃
  • 맑음봉화-10.7℃
  • 맑음군산-4.2℃
  • 구름조금수원-2.6℃
  • 맑음추풍령-7.7℃
  • 맑음울릉도4.4℃
  • 비백령도8.1℃
  • 구름많음강릉3.3℃
  • 맑음북부산-6.1℃
  • 구름조금울진1.1℃
  • 맑음장흥-6.6℃
  • 맑음북창원-2.0℃
  • 맑음전주-4.0℃
  • 흐림영월-8.5℃
  • 맑음속초4.9℃
  • 흐림동두천-3.5℃
  • 맑음영주-7.6℃
  • 맑음포항0.2℃
  • 맑음경주시-7.1℃
  • 맑음대구-4.5℃
  • 맑음완도-1.7℃
  • 구름많음흑산도3.3℃
  • 맑음고창-6.0℃
  • 맑음서청주-7.1℃
  • 맑음해남-7.2℃
  • 맑음상주-5.9℃
  • 맑음남원-7.2℃
  • 흐림이천-4.8℃
  • 맑음문경-4.3℃
  • 맑음부산0.6℃
  • 맑음보성군-4.0℃
  • 흐림파주-5.0℃
  • 구름많음인천0.5℃
  • 맑음광주-3.0℃
  • 구름조금대관령-4.7℃
  • 구름많음제주5.6℃
  • 흐림보령0.2℃
  • 맑음태백-4.3℃
  • 맑음강진군-5.4℃
  • 흐림춘천-4.6℃
  • 2025.12.06 (토)

도메인 특화 언어 'DSL', 어떤 특징 있을까?

한지은 / 기사승인 : 2021-04-30 23:46:52
  • -
  • +
  • 인쇄

여러 문제를 광범위하게 해결하기 위해 고안된 프로그래밍 언어가 있다. 바로 범용 언어인데, C , 자바와 언어가 바로 여기에 해당한다. 이에 반대되는 개념을 DSL(Domain-Specific Languages), 즉 '도메인 특화 언어'라고 한다. 그렇다면 DSL은 정확히 무엇이며, 어떤 장단점이 있을까?

DSL이란?
DSL이란 특정 분야에 최적화된 컴퓨터 언어를 말한다. SQL이나 CSound 등이 있으며, 내부 DSL과 외부 DSL로 구분할 수 있다. 내부 DSL은 특수한 목적을 위해 제한된 방법으로 호스트 언어를 사용하는 방식인데, 사용하던 도구를 그대로 이용할 수 있고 처리 결과를 쉽게 예측할 수 있다.

반대로 외부 DSL은 호스트 언어가 아닌 다른 언어에서 생성된 DSL이다. 대부분 자체적인 문법을 가지지만 기존 언어의 문법을 쓰는 예도 있다. 또한, 외부 DSL 개발자는 DSL의 형식을 자유롭게 정할 수 있다.

DSL의 장점
DSL은 대부분 범용 언어보다 복잡하지 않다. 도메인의 복잡성을 낮추어 주기 때문에 단순하며, 이해하기 쉬운 문법을 사용해서 가독성이 좋다. 코드를 간결하게 만들어 주기도 한다. 또 프로그래머들과의 소통이 원활해진다는 장점도 있다. 잘 설계된 DSL을 이용하면, 유지보수가 쉬워지며 제품의 품질이 향상된다.

DSL의 단점
DSL은 설계가 어렵다. 설계가 미흡하다면 오히려 이해하기 힘든 코드가 될 수 있다. 어려운 문법을 가진 프로그래밍 언어는 문법적인 제약이 큰 DSL로 표현하는 데 한계가 있다. 또한, DSL을 설계하고 구현하여 유지하는 데 드는 비용과 시간도 만만치 않다. 아직 적용 분야가 매우 좁다는 점도 DSL의 단점이다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue