Domain-specific Language - Advantages and Disadvantages

Advantages and Disadvantages

Some of the advantages:

  • Domain-specific languages allow solutions to be expressed in the idiom and at the level of abstraction of the problem domain. The idea is domain experts themselves may understand, validate, modify, and often even develop domain-specific language programs. However, this is seldom the case.
  • Self-documenting code.
  • Domain-specific languages enhance quality, productivity, reliability, maintainability, portability and reusability.
  • Domain-specific languages allow validation at the domain level. As long as the language constructs are safe any sentence written with them can be considered safe.

Some of the disadvantages:

  • Cost of learning a new language vs. its limited applicability
  • Cost of designing, implementing, and maintaining a domain-specific language as well as the tools required to develop with it (IDE)
  • Finding, setting, and maintaining proper scope.
  • Difficulty of balancing trade-offs between domain-specificity and general-purpose programming language constructs.
  • Potential loss of processor efficiency compared with hand-coded software.
  • Proliferation of similar non-standard domain specific languages, i.e. a DSL used within insurance company A versus a DSL used within insurance company B.
  • Non-technical domain experts can find it hard to write or modify DSL programs by themselves.
  • Increased difficulty of integrating the DSL with other components of the IT system (as compared to integrating with a general-purpose language).
  • Low supply of experts in a particular DSL tends to raise labor costs.
  • Harder to find code examples.

Read more about this topic:  Domain-specific Language

Famous quotes containing the word advantages:

    Men hear gladly of the power of blood or race. Every body likes to know that his advantages cannot be attributed to air, soil, sea, or to local wealth, as mines and quarries, nor to laws and traditions, nor to fortune, but to superior brain, as it makes the praise more personal to him.
    Ralph Waldo Emerson (1803–1882)