Domain-specific languages are custom text or graphical interfaces that allow domain experts to create and modify their own software systems. With a syntax that’s clear and familiar to the non-technical user, DSLs are precise enough to generate working software that would normally require traditional coding. Written for developers who need to create user-facing DSLs, Building User-Friendly DSLs unlocks clear and practical methods to create DSLs with easy-to-use interfaces. By working through a detailed example of a car rental company, you'll see how creating a custom DSL can get rid of time-consuming and bureaucratic code adjustments, freeing you up to work on features whilst your clients and colleagues write their software themselves!
about the technology
Imagine if your non-technical clients could safely produce software without the need for anyone to manually write code. Domain-specific languages are purpose-built programming interfaces that make that possible—no programming experience required. This frees software developers from the time-consuming translation of a client's functional and domain-specific specifications, replacing complex code for modern and intuitive UIs.
about the book
Build a complete Domain IDE for a car rental company
Implement a projectional editor for your DSL
Implement content assist, type system, expressions, and versioning language aspects
Evaluate business rules
Work with Abstract Syntax Trees
Reduce notated DSL content in concrete syntax into abstract syntax
about the reader
about the author
Meinte Boersma has been a practitioner of model-driven software development and software language engineering since 2007. He has given workshops on DSL, participated in organizing the Language Workbench Challenge, and has spoken at conferences on DSLs.
customers also reading
FREE domestic shipping on orders of three or more print books
The manuscript is excellent. The content is great, the illustrations are very well done. The author has taken a very pedagogical approach to transfer practical and rapidly exploitable knowledge in a short period of time.
A MUST-HAVE book on the topic!
DSL is always considered a niche area that's difficult to do. This book make it easy for you to understand with great examples. If you ever wanted to learn but never tried, you now have a good reason to do so!
Great external DSL reference. With this book you will have all you need to build your external DSL!
An interesting concept of mixing DSL design with high-level software design.
This book is really interesting for the intended user. Easy to grasp, understand, follow along and try out the code in small incremental steps.
It's one thing to use a DSL, it's another to design and implement one. This book narrows the gap for anyone interested.
An exceptional quality level. The author’s wealth of experience is evident in the clear and concise manner in which he presents the material. The book is very easy to follow and apply from a practical point of view.
A GREAT book to get started building serious DSLs!
A very patient deep introduction and exploration of DSLs.
The best resource I've read so far on DSLs! Very interesting to follow, with many figures that provide a visual cue about the process.