Comment by daemonologist
9 hours ago
The advantage of micropython is that you don't have to deal with all the poorly maintained toolchains and UART and flashing and whatnot; for a novice working on their own, that stuff is a nearly insurmountable barrier. That the syntax is Python doesn't make a whole lot of difference.
I agree though, probably shouldn't be the first choice for a professional application.
It's actually a great first choice for a professional application, in that you can get a prototype up and running much faster than a native SDK, iterate quickly, and try things out on a repl. In fact, it's used in industrial settings, including in medical devices and energy distribution.
MicroPython's a bytecode interpreter so, other than the existing Python ecosystem being a huge boon (popularity being a form of strength), you could get many of the same benefits and more from wasm
If we forget about the pain that most WASM toolchains happen to be.
MicroPython, like most BASIC interpreters in 8 bit days, also allows for inline Assembly.
As for running bytecode on MCU that is as old as MCU themselves, wasm doesn't bring anything to table.
https://en.wikipedia.org/wiki/BASIC_Stamp
You can actually opt-in to native compilation on a function level so it's not just a bytecode interpreter. You can also compile it yourself with additional functionality written in C/C++ and just use Python for the glue that isn't performance sensitive.