Customizing Host IDE for Non-programming Users of Pure Embedded DSLs: A Case Study

12/01/2020
by   Milan Nosáľ, et al.
0

Pure embedding as an implementation strategy of domain-specific languages (DSLs) benefits from low implementation costs. On the other hand, it introduces undesired syntactic noise that impedes involvement of non-programming domain experts. Due to this, pure embedded DSLs are generally not intended for, nor used by, non-programmers. In this work, we try to challenge this state by experimenting with inexpensive customizations of the host IDE (Integrated Development Environment) to reduce the negative impact of syntactic noise. We present several techniques and recommendations based on standard IDE features (e.g., file templates, code folding, etc.) that aim to reduce syntactic noise and generally improve the user experience with pure embedded DSLs. The techniques are presented using a NetBeans IDE case study. The goal of the proposed techniques is to improve the user experience with pure embedded DSLs with a focus on the involvement of non-programming domain experts (or non-programmers in general). The proposed techniques were evaluated using a controlled experiment. The experiment compared a group using Ruby and non-modified RubyMine IDE versus a group using Java and NetBeans IDE customized to use the proposed techniques. Experiment results indicate that even inexpensive host IDE customizations can significantly alleviate issues caused by the syntactic noise: Java with its inflexible syntax performed better than Ruby with its concise syntax.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/12/2019

Aplib: Tactical Programming of Intelligent Agents

This paper presents aplib, a Java library for programming intelligent ag...
research
08/29/2019

Improving the Performance of the Paisley Pattern-Matching EDSL by Staged Combinatorial Compilation

Paisley is a declarative lightweight embedded domain-specific language f...
research
06/18/2020

Compositional theories for embedded languages

Embedded programming style allows to split the syntax in two parts, repr...
research
05/18/2020

Sham: A DSL for Fast DSLs

Domain-specific languages (DSLs) are touted as both easy to embed in pro...
research
12/29/2022

Matchertext: Towards Verbatim Interlanguage Embedding

Embedding text in one language within text of another is commonplace for...
research
09/29/2021

Unified Shader Programming in C++

In real-time graphics, the strict separation of programming languages an...
research
05/06/2023

Unifying Pointer Analyses for Polyglot Inter-operations through Summary Specialization

Modular analysis of polyglot applications is challenging because heap ob...

Please sign up or login with your details

Forgot password? Click here to reset