Rolling Your Own: Domain-Specific Languages in Java
Domain-specific languages (DSLs, or “little languages” as they’re sometimes known) can have great benefits for making your source code more readable, correct, and maintainable and overall provide improvements to the efficiency of the whole team. Everybody has seen and used DSLs before, be it good old SQL, or languages like Docker, Kubernetes, Fn Flow, Terraform, or GraphQL. But isn’t it difficult to build and maintain your own language?
In this talk, Dr Steffen Zschaler hopes to convince you otherwise. Through a series of live-coding examples, we will explore different ways of building helpful DSLs quickly. We will start by looking at how to use fluent interfaces for your APIs to build a simple DSL directly embedded in your Java code. While this makes for great readability, we will soon reach the limits of this particular technique. We will then look at building our own DSL outside of Java, complete with IDE integration and translation into full-blown Java code. We will use the Xtext language workbench, which makes it easy to get our DSL off the ground quickly, get great IDE integration with a minimum amount of work, and maintain all of the language definition in a standard Git repository.
About the speaker
Dr Steffen Zschaler is a senior lecturer in computer science at King’s College London. He has been researching domain-specific languages, software modelling, and code generation for almost 20 years and has built a number of tools as well as developing foundational theory. Steffen is always looking to convert people to the benefits of using domain-specific languages as part of their development workflow and is happy to discuss this at length with or without drinks at hand.
6.30pm - Doors open
6.45pm - Rolling Your Own: Domain-Specific Languages in Java (approx 90 minutes)
7.30pm - Break
7.50pm - Talk continues
8.35pm - Finish
This is a placeholder for the event being run on Eventbrite: https://www.eventbrite.co.uk/e/rolling-your-own-domain-specific-languages-in-java-tickets-53048846528 .
Please ensure you sign up with your full name.
Big thanks to Skills Matter for providing the venue and our sponsors Gridgain for the pizza!
This event is organised by RecWorks on behalf of the London Java Community.
You can see our latest jobs here: https://recworks.co.uk/java-developer-jobs-london/.
Continue the conversation at our Slack Group: https://londonjavacommunity.slack.com
Sign up here if you're not a member: https://barrycranford.typeform.com/to/IIyQxd