R6ascht37remeil7o0u0
SkillsCast

Rolling Your Own: Domain-Specific Languages in Java

18th December 2018 in London at CodeNode

There are 1 other SkillsCast available from 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?

Agenda

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

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.

YOU MAY ALSO LIKE:

Thanks to our sponsors

Rolling Your Own: Domain-Specific Languages in Java

Dr Steffen Zschaler

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.

SkillsCast

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?

Agenda

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

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.

YOU MAY ALSO LIKE:

Thanks to our sponsors

About the Speaker

Rolling Your Own: Domain-Specific Languages in Java

Dr Steffen Zschaler

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.