下载PDF摘要:编程语言设计需要做出许多与可用性相关的设计决策。我们探索了使用以用户为中心的方法来使语言对程序员更有效。然而,现有的人机交互方法期望与适当的用户进行迭代,这些用户必须学会使用要评估的语言。这些方法应用于编程语言是不切实际的:它们迭代成本高,程序员需要大量的学习时间,并且用户性能差异很大。为了解决这些问题,我们采用了人机交互方法来降低迭代和培训成本,并设计了任务和分析来降低高方差。我们使用这些方法为专业开发人员设计了两种语言,对这些方法进行了评估。冰川对Java进行了扩展,使程序员能够有效而轻松地表达不变性属性。黑曜石是一种区块链语言,包括对关键安全属性的验证。总结性可用性研究表明,经过短时间的培训后,程序员能够有效地用两种语言编程。