Actually, there are no similar projects that I can tell of. MakeCode, the "one that comes with the micro:bit", as you say, is not a live language and only works for a couple of boards. It's not even a language, it's a façade for an underlying text language.
To sum up what's different about MicroBlocks:
* It is blocks based.
* It is live. That means you can change scripts in real time while they're running. You can see the result of running any block in real time. You don't have to wait for any compilation/upload cycles.
* It is autonomous. You can disconnect the board at any point, and the program will keep running in it.
* It is parallel. You can run multiple tasks at the same time.
* It is portable. It runs in several boards thanks to our VM approach.
There was no language that did all these, so we made our own :)
"Similar" in terms of the job-to-be-done I had in mind—a Scratch-like interface for programming most if not all of the boards mentioned. These features you've outlined did not jump out at me at all on first glance, which is a shame!
I somehow totally missed the live aspect. That's super exciting (and impressive). And parallel!?!? A WYSIWYG parallel code editor for microcontrollers? How is that not the headline?
I'm glad I asked! This is quite interesting to me now. Thanks for your reply!
Yes, I totally agree that the website needs to make the important aspects apparent right away :)
We've been basically focused on finalizing the last details before launching beta, but reworking the website is on our list of urgent tasks, possibly even before the launch, who knows!
Excellent summary. The "oh wow this feels different" aspect of MicroBlocks comes after you try it. It makes programming microcontrollers as interactive and hands-on as building electrical circuits from discrete components. Your changes are immediate. And the live data graphing from sensors feels like a graphic voltmeter or oscilloscope. For physical computing it's simply the best learning tool I've ever encountered (note I'm an EE major, not CS). All those "real" programming languages now fall short in my view. I'm hooked.
To sum up what's different about MicroBlocks:
* It is blocks based.
* It is live. That means you can change scripts in real time while they're running. You can see the result of running any block in real time. You don't have to wait for any compilation/upload cycles.
* It is autonomous. You can disconnect the board at any point, and the program will keep running in it.
* It is parallel. You can run multiple tasks at the same time.
* It is portable. It runs in several boards thanks to our VM approach.
There was no language that did all these, so we made our own :)