Block based programming environments are becoming very popular. First Scratch and now MakeCode, and now there are others like EduBlocks (block based Python) and MicroBlocks.
MicroBlocks is an especially interesting one. It doesn't use an intermediate language like some others; it compiles directly to virtual machine bytecode.
MicroBlocks has three main components:
- The block based editor
- The bytecode compiler
- The code manager that can keep the code on your board seamlessly up to date with what's in the editor.
Not only does it support whole programs, but any valid snippet can be immediately executed on the board. That includes prototype blocks on the palette as well as code under construction. This lets you interactively see how code works, piece by piece as you work on it. This is much like CircuitPython's REPL, but more powerful. For those with an interest in programming languages, this capability is much like what Smalltalk provides: being able to execute any valid code at any time.
We are going to explore a bit of MicroBlocks through making a festive ornament using a Circuit Playground Express.