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)

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

Amazing.
Cancel

-ADS BY GOOGLE

File Extensions and File Formats

Powered by:

SearchCompliance

  • PCI DSS (Payment Card Industry Data Security Standard)

    The Payment Card Industry Data Security Standard (PCI DSS) is a widely accepted set of policies and procedures intended to ...

  • risk management

    Risk management is the process of identifying, assessing and controlling threats to an organization's capital and earnings.

  • compliance framework

    A compliance framework is a structured set of guidelines that details an organization's processes for maintaining accordance with...

SearchSecurity

  • Trojan horse (computing)

    In computing, a Trojan horse is a program downloaded and installed on a computer that appears harmless, but is, in fact, ...

  • identity theft

    Identity theft, also known as identity fraud, is a crime in which an imposter obtains key pieces of personally identifiable ...

  • DNS over HTTPS (DoH)

    DNS over HTTPS (DoH) is a relatively new protocol that encrypts domain name system traffic by passing DNS queries through a ...

SearchHealthIT

  • telemedicine (telehealth)

    Telemedicine is the remote delivery of healthcare services, such as health assessments or consultations, over the ...

  • Project Nightingale

    Project Nightingale is a controversial partnership between Google and Ascension, the second largest health system in the United ...

  • medical practice management (MPM) software

    Medical practice management (MPM) software is a collection of computerized services used by healthcare professionals and ...

SearchDisasterRecovery

SearchStorage

  • M.2 SSD

    An M.2 SSD is a solid-state drive (SSD) that conforms to a computer industry specification and is used in internally mounted ...

  • kilobyte (KB or Kbyte)

    A kilobyte (KB or Kbyte) is a unit of measurement for computer memory or data storage used by mathematics and computer science ...

  • virtual memory

    Virtual memory is a memory management capability of an operating system (OS) that uses hardware and software to allow a computer ...

Close