Browse Definitions :
Definition

domain specific language (DSL)

Contributor(s): Cameron McKenzie

A domain specific language (DSL) is a programming language that is developed to meet a specific need.  In this sense, a domain is a narrow area of interest.

A DSL may be developed to meet the needs of a particular platform, system, toolset, software problem, industry, or business challenge that cannot be effectively addressed by using mainstream languages. Examples of commonly used DSLs include cascading style sheets (CSS), Ant and SQL. The human-readable code that many DSLs employ can also help improve collaboration between programmers and other stakeholders. 

A DSL can be contrasted with a general purpose language, such as C#, which is designed to address a broad range of needs across the software development landscape. In many cases, a subset of a general purpose language can be developed and implemented as a domain specific language to address a particular problem. Ruby (particularly Ruby on Rails) and Scala are examples of languages that lend themselves to the development of these internal DSLs. For example, Scala might be used to create a DSL for highly complex domains such as trading exchanges in the energy industry. Most software projects will incorporate a general language and several peripheral DSLs to add required functionality for various domains within the system.

 

This was last updated in September 2014

Continue Reading About domain specific language (DSL)

SearchCompliance

SearchSecurity

  • cyber attack

    A cyber attack is any attempt to gain unauthorized access to a computer, computing system or computer network with the intent to ...

  • backdoor (computing)

    A backdoor is a means to access a computer system or encrypted data that bypasses the system's customary security mechanisms.

  • post-quantum cryptography

    Post-quantum cryptography, also called quantum encryption, is the development of cryptographic systems for classical computers ...

SearchHealthIT

SearchDisasterRecovery

  • risk mitigation

    Risk mitigation is a strategy to prepare for and lessen the effects of threats faced by a business.

  • call tree

    A call tree is a layered hierarchical communication model that is used to notify specific individuals of an event and coordinate ...

  • Disaster Recovery as a Service (DRaaS)

    Disaster recovery as a service (DRaaS) is the replication and hosting of physical or virtual servers by a third party to provide ...

SearchStorage

  • cloud SLA (cloud service-level agreement)

    A cloud SLA (cloud service-level agreement) is an agreement between a cloud service provider and a customer that ensures a ...

  • NOR flash memory

    NOR flash memory is one of two types of non-volatile storage technologies.

  • RAM (Random Access Memory)

    RAM (Random Access Memory) is the hardware in a computing device where the operating system (OS), application programs and data ...

Close