Instead, it allows people to use 4 different coding languages to manipulate it:
- Python, with a custom module, microbit
- Microsoft Block Editor, again similar to Scratch or Google Blockly
- Microsoft Touch Developer
Obviously, as all of these languages are Turing complete, they can compete here. So how do we submit solutions in them?
For example, a Hello, World! program can be written in 4 different languages with the BBC micro:bit, all with different scores and with different code, but that all work the same way.
A Python micro:bit answer for Hello, World! would be
import microbit microbit.display.scroll("Hello, World!")
56 bytes. However, if I wrote the same program in Microsoft Touch Developer, it would
a) Use a different encoding, similar to TIBasic
b) Be shorter, because of this encoding.
This is what the program in Microsoft Touch Editor looks like:
Now this brings up a whole separate issue of how to count these bytes but for now, we'll stick with bytes like this
[script ][a][newline] [function main()][newline] [tab][basic][-> show string][(]["Hello, World!"][,][)][newline] [end function]
which comes out as 15 bytes (I'll explain why in the post about counting bytes).
So the competition doesn't become about language tricks, but rather what language you choose to use, which isn't fair.
Therefore, what should be do about submissions in BBC micro:bit programs? How should answers in them be formatted/answered?