DSL (Domain Specific Language)

A domain specific language (DSL) is a programming language that is developed to meet a specific compulsion. In this prudence, a domain is a narrow place of merged.

A DSL may be developed to meet the needs of a particular platform, system, toolset, software burden, industry, or issue challenge that cannot be effectively addressed by using mainstream languages. Examples of commonly used DSLs put in cascading style sheets (CSS), Ant and SQL. The human-readable code that many DSLs employ can furthermore lead member collaboration in the midst of programmers and subsidiary stakeholders.

A DSL can be contrasted by now a general strive for language, such as C#, which is intended to domicile a broad range of needs across the software go before landscape. In many cases, a subset of a general want language can be developed and implemented as a domain specific language to quarters a particular difficulty. Ruby (particularly Ruby going going in version to for for Rails) and Scala are examples of languages that lend themselves to the build going on of these internal DSLs. For example, Scala might be used to make a DSL for extremely highly developed domains such as trading exchanges in the excitement industry. Most software projects will incorporate a general language and several peripheral DSLs to add required functionality for various domains within the system.