An Empirical Investigation into Programming Language Syntax

An Empirical Investigation into Programming Language Syntax
复制标题

DOI:
10.1145/2534973
复制
发表时间:
2013-11
期刊:
ACM Trans. Comput. Educ.
影响因子:
--
通讯作者:
A. Stefik;Susanna Siebert
A. Stefik;Susanna Siebert
中科院分区:
其他
文献类型:
--
作者:
A. Stefik;Susanna Siebert

文献摘要

被引文献

相似文献

文献中的最新研究表明,语法仍然是该领域新手计算机科学专业学生的重大障碍。虽然已知存在这种语法障碍,但尚未仔细研究它在编程语言中的变化以及如何变化。在本文中,我们进行了四项有关编程语言语法的实证研究,这是对所谓的编程语言战争的更大分析的一部分。我们首先与学生进行了两项调查,以了解语法的直觉,我们用来赢得了新手可能很容易理解的单词和符号的形成性线索。我们使用总共六种编程语言进行了两项关于新手准确率的研究:Ruby,Java,Perl,Python,Randomo和Quorum。 Randomo是通过从ASCII表(隐喻安慰剂)中随机选择一些关键字来设计的。令我们惊讶的是,我们发现使用更传统的C风格语法(Perl和Java)的语言没有明显高于随机生成的关键字的语言的精度率要高得多,但是偏离的语言(Quorum,Python和Ruby)做过。这些结果,包括对新手特别有问题的语法细节,可以帮助教师选择合适的第一语言,并帮助学生克服他们在语法面临的挑战方面。
Recent studies in the literature have shown that syntax remains a significant barrier to novice computer science students in the field. While this syntax barrier is known to exist, whether and how it varies across programming languages has not been carefully investigated. For this article, we conducted four empirical studies on programming language syntax as part of a larger analysis into the, so called, programming language wars. We first present two surveys conducted with students on the intuitiveness of syntax, which we used to garner formative clues on what words and symbols might be easy for novices to understand. We followed up with two studies on the accuracy rates of novices using a total of six programming languages: Ruby, Java, Perl, Python, Randomo, and Quorum. Randomo was designed by randomly choosing some keywords from the ASCII table (a metaphorical placebo). To our surprise, we found that languages using a more traditional C-style syntax (both Perl and Java) did not afford accuracy rates significantly higher than a language with randomly generated keywords, but that languages which deviate (Quorum, Python, and Ruby) did. These results, including the specifics of syntax that are particularly problematic for novices, may help teachers of introductory programming courses in choosing appropriate first languages and in helping students to overcome the challenges they face with syntax.