Domain-specific Languages: A Small Introduction

Vassilios Karakoidas
3 min readMay 16, 2018

Domain-specific languages (DSLs), also known as micro- languages or little languages, are programming languages designed to focus on a particular domain. Well-known DSLs include regular expressions, markdown, extensible markup language (XML), and structured query language (SQL). General-purpose languages (GPLs) have a wider scope. They provide a set of processing capabilities applicable to different problem domains. Mainstream GPLs are Java, C/C++, Python, and Scala.

To better understand the differences between DSLs and GPLs, consider the following example. The C programming language is a GPL. It provides the basic forms for abstractions and computation. What happens if someone wants to define a matrix of integers in C? An array of pointers must be declared like the following:

int **matrix;

To access the values of the matrix, the programmer will have to write complex pointer arithmetic statements. If one attempts to implement an algorithm for the multiplication of matrices, a function must be defined that accepts the two matrices as parameters and returns the result.

int **multiply(int **m_first, int **m_sec);

More advanced languages such as C++ and Java provide more advanced methods to create abstractions; thus there are classes and interfaces. A typical…

--

--

Vassilios Karakoidas
Vassilios Karakoidas

Written by Vassilios Karakoidas

Software Engineer, Software Architect, Gamer and Researcher. Opinions are my own.

No responses yet