Vadim Zaytsev aka @grammarware

DYOL: Design Your Own LanguageBlock

Caveat emptor: these individual card pages are work in progress, and their content is in no way final!


Viewing a list of statements as a specific (compound) kind of statement is a conceptual eye-opener and allows to treat composite constructs in a uniform and orthogonal way (if … begin … end and do … begin … end instead of if … endif and do … enddo). Languages either use delimiters (begin/end or curly brackets) or indentation. Blocks can be seen as degenerate subprograms and be useful in optimisation.

Learnable Programming: Blocks and Beyond

Communications of the ACM, June 2017, pp. 72-80
David Bau, Jeffrey G. Gray, Caitlin Kelleher, Josh Sheldon, Franklyn A. Turbak
open access

Evidence shows that the explicit usage of blocks in programming/coding education improves learnability of concepts and languages.

The DYOL toolkit was created and is maintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Page last updated in March 2021.