arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2012.00829cs.SEcs.PL
收藏

为纯嵌入式DSL的非编程用户定制主机IDE:案例研究

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

Milan Nosáľ, Jaroslav Porubän, Matúš Sulír

摘要:

纯嵌入作为领域特定语言(DSL)的一种实现策略,具有实现成本低的优点。另一方面,它引入了不希望的语法噪声,阻碍了非编程领域专家的参与。因此,纯嵌入式DSL通常不适用于非程序员,也不被非程序员使用。在这项工作中,我们试图挑战这种状态,通过试验廉价的定制主机IDE(集成开发环境),以减少句法噪音的负面影响。我们根据标准IDE功能(例如,文件模板、代码折叠等)其目的是减少语法噪声,并且总体上改善纯嵌入式DSL的用户体验。这些技术将使用NetBeans IDE案例研究进行介绍。所提出的技术的目标是改善纯嵌入式DSL的用户体验,重点是非编程领域专家(或一般非程序员)的参与。所提出的技术进行了评估,使用一个控制实验。实验比较了使用Ruby和未修改的RubyMine IDE的一组与使用Java和NetBeans IDE定制以使用所提出的技术的一组。实验结果表明,即使是廉价的主机IDE定制可以显着减轻语法噪音所造成的问题:Java的不灵活的语法比Ruby的简洁的语法表现更好。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑