Last Updated: 09/07/2025

Creating your own programming language is now easy!

Figure 1 [1]
Figure 1 [1]

Ever wanted to create your own programming language? Me too! Now it is easier than ever thanks to a new software language engineering tool, ART.

Ever looked at some of the documentation for popular programming languages? If not, go look at the Java specification. No really do it, here is a link: https://docs.oracle.com/javase/specs/.

It is far too verbose. This is where ART comes in. Developed by Adrian Johnstone and tested by Elizabeth Scott, ART (ambiguity retained translation) [2] allows you to write concise and formally verifiable programming languages.

I spoke to Adrian, who had this to say on his motivation for developing ART: " on my motivation: it's two-fold: (i) to provide complete, concise and thus maintainable specifications for small programming languages and (ii) to provide a software-engineer-friendly introduction to Structural Operational Semantics which is the most common way that theoreticians specify the meaning of programs. ".

As the specification is very concise, it is easy for other programmers in your team to use and adapt your language.

Pros of ART versus other tools:

Allows concise specifications for complex languages. Speeds up process for development of the langauge. Allows better formalisation. Easier for others to understand, maintain and add to your language.

The developers go into extensive detail and provide great summaries of the core principles, and as such I will not go into detail here. I hope this article has motivated you to check out ART, and maybe even write a language of your own! After all, it's easier now that it ever has been.

References: