Snap! Programming System
Snap! was developed by Jens Mönig and Brian Harvey under the umbrella of the University of California at Berkeley, with the objective of bringing the power of the Scheme programming language and its computer science concepts into a Scratch-like environment. In fact, for a bunch of years, Snap! was developed as a modified version of Scratch. The ability to construct your own blocks out of other blocks was one of the foundational principles of this modification of Scratch, which is why, initially, they named it BYOB (standing for Build Your Own Blocks). In Snap!, blocks built by the user bear the same weight as any other preexisting ones. In other words, Snap! lets us build custom expressions that look and behave like primitive ones.
Nowadays, Snap!is a separate project with a codebase that is completely independent from Scratch and with an outstanding number of new features and particularities that make it suitable for a serious study of computer science as well as for...