Toward Blocks-Text Parity
Chris Johnson, Adrian Abundez-Arce · 2017
The use of blocks programming languages has skyrocketed in recent years, thanks largely to freely available blocks environments like Scratch, Snap!, and Blockly. These platforms have lowered the barrier to computer science and algorithmic thinking, allowing even very young children to compose programs. Compared to text interfaces, blocks alleviate much of the burden of learning a language's syntax. However, we do not believe the debate between blocks and text is entirely legitimate, as blocks languages tend to be smaller and domain-specific. Would the claims made in this debate still be valid if we compared text and blocks interfaces for the same language? Without a control for the language framing our positions in this debate, blocks interfaces are probably given a lot of credit that is due to the smallness of the language they support. Blocks languages and conventional text languages have fundamental semantic differences that must be aligned before we can fully understand the advantages of blocks over text. In this paper, we identify a number of these differences, with the hope that our analysis will ultimately be used to create languages that support both blocks and text interfaces and maintain syntactic and semantic parity between the two forms.