‹Programming› 2019
Mon 1 - Thu 4 April 2019 Genoa, Italy
Mon 1 Apr 2019 14:30 - 15:00 at Michelangelo - Session 3 Chair(s): Ademar Aguiar

A lot of developer work can be categorized as “more of the same”: tediously implementing almost-homogeneous, yet not-entirely-right functional specs, handed over by a veritable army of domain experts, in last year’s “favorite” enterprise platform. What if you could offload that work to those same domain experts, allowing them to write down actually-correct specs that can be run directly, now and in the future? After all, the best way to become a 10X programmer is to empower as many other people as possible.

Model-driven software development and domain-specific languages (DSLs) can achieve exactly that. While low-code platforms force users to transmogrify their specifications into the language of that platform, DSLs are molded to fit the domain’s existing parlance and exact needs, at the same time giving your domain knowledge and assets a lifespan that exceeds that of the target platform du jour.

Traditionally, implementing a DSL has been a complex task: you needed to know about parsing, integrating into an existing IDE, etc., even when using a language workbench. By now, the browser has become the most important client technology for applications, and it has become both desirable as well as feasible to implement DSLs with structured or projectional editing efficiently in the browser. This also does neatly away with the need to learn about parser technology.

In this talk, we’ll walk the listener through an implementation of a projectional, business-oriented DSL that’s small and simple, but plausibly real-life. We’ll use a stack consisting of JavaScript, React, and MobX to leverage Transparent Functional Reactive Programming (TFRP) as an architectural principle to be able to program more bang with fewer bits.

After the talk, listeners will hopefully be convinced of the advantages of projectional DSLs, and of the feasibility of implementing one themselves in a limited amount of time.

Meinte Boersma has been doing model-driven software development and software language engineering for over a decade, and in numerous projects. He had a startup around his own language workbench (Más), and has been spreading his experience with and knowledge on the subject through blogs and conference talks. He is currently working at the Dutch Tax and Customs Agency, creating DSLs to bridge the gap between lawpeople and IT. He is also authoring a book about projectional DSLs that’s to be released in 2020 by Manning Publications.

Mon 1 Apr

14:00 - 15:30: PX/19 - Session 3 at Michelangelo
Chair(s): Ademar AguiarFEUP, Universidade do Porto
px-2019-papers14:00 - 14:30
Toyomi Ishida, Hidetake UwanoNational Institute of Technology, Nara College, Japan
px-2019-papers14:30 - 15:00
Meinte BoersmaDutch Tax and Customs Agency
px-2019-papers15:00 - 15:30
Luke Church, Mariana MarasoiuUniversity of Cambridge