User-Centered Programming Language Design in the Obsidian Smart Contract Language

arxiv(2019)

引用 0|浏览62
暂无评分
摘要
Programming language designers commonly guess what language designs would be best for their users and create languages accordingly. The outcome of this is languages that are difficult to use and error-prone. In particular, blockchain programs have been plagued by serious bugs. Although techniques from the theory of programming languages can detect many of these kinds of bugs, languages that use these techniques have been too difficult for programmers to use effectively. We have developed Obsidian, which integrates a strong, static type system that detects many of these bugs, using a new user-centered design approach. In this paper, we describe the formative and summative methods we have developed for user-centered design of programming languages and how we have applied them to create Obsidian. This includes a usability study, which demonstrates the effectiveness of our design methods to obtain a usable language.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要