The most popular and comprehensive Open Source ECM platform
Domain Specific Language: Empowering Domain Experts
You’re likely familiar with computer programming languages like C, Java and Python. These languages are considered general-purpose procedural languages and often taught in schools and used across industries for software designed almost any type of problem.
Recently there’s been a rise in popularity of languages that are more targeted to solving specific problems. These domain-specific languages (DSL) include languages like LOGO, a very limited programming language targeted towards kids learning to program that has a limited set of actions, primarily for drawing lines and simple geometrical shapes. In fact, a major characteristic of DSL languages is that they’re often easy for people knowledgeable in the target domain to pick up quickly.
A DSL language is often very stipped down in comparison to a general purpose language, often omitting support for things like data structures, conditional expressions and functions. DSLs are used in industries like health care, finance and insurance. Often the syntax of the language is English-like, using nouns and verbs, and incorporates jargon that is commonly used in the industry.
Paul Hudak, computer science professor at Yale University, said that “programs written in a [domain specific language] (DSL) have one important characteristic: they can often be written by non-programmers…a user immersed in a domain already knows the domain semantics. All the DSL designer needs to do is provide a notation to express that semantics.”
One frequent practice in industry is for an industry expert to work with a developer who then implements a specific business process or task using a general purpose programming language. The problem with this approach is that often the translation of the business process results in code that the industry expert isn’t able to read and directly verify. DSL languages are designed to instead allow the industry expert to directly implement the business rules directly without a middleman.













