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.
翻译:作为特定域语言(DSLs)执行战略的纯嵌入,从较低的执行成本中获益。另一方面,它引入了一些不理想的合成噪音,阻碍非编程域专家的参与。因此,通常不为非编程人员设计或使用纯嵌入的DSLS。在这项工作中,我们试图通过试验主机IDE(综合开发环境)的廉价定制来挑战这一状态,以减少合成噪音的负面影响。我们根据标准的 IDE 特征(例如,文件模板、代码折叠等)提出了一些技术和建议,目的是减少合成噪音,并普遍改善使用纯嵌入的DSLS的用户经验。这些技术通常不是为非编程编程的DSLS,而是使用NetBeans IDE案例研究。拟议技术的目的是改进使用纯嵌入的DSLS的用户经验,重点是非编程域专家(或一般非编程人员)的参与。我们用一个受控的实验来评估拟议的技术。将一个使用简易的IDE小组比使用简化的SDIDA(甚至采用简化的Slimalimalimalimal)的SIMM结果,显示一个较简化的Slimalimalimalimalus 的实验室,这组可以通过拟议的Slimalimalimalimalus 显示一个较慢化的IDE集团,这组,这组利用了一个简化的IMDABUDADABBBBBBABABABABA 。