There is a toggle between blocks and javascript in MakeCode. You can write code in blocks and switch to javascript or vice versa. This dual modality hopefully helps students to make the jump from blocks to javascript on a long term.
Scratch 3.0 uses Google's Blockly in their new software, for those curious about the similarities. The tech is widely used in many different applications, as evidenced by Microsoft's use of it in MakeCode.
Though I'm not a part of the team and so can't provide much more information beyond an interested outsider, unfortunately. :)
Blocky team member, here. Microsoft and MIT/Scratch have been amazing partners and contributors. We're really excited about Scratch 3.0 and the efforts on Scratch Blocks.
I stand corrected, i don't think that was the case sometime last year when I first checked out MakeCode, glad to see that has changed
Edit: I may also be misremembering, I primarily use Mac OS, and Education Edition has a Mac OS version. Plus Education Edition has some unique features that I would like to be able to use.
I assume there's a technical reason that a normal Minecraft account/client can't be used?
Ideally, I'd be able to get a free transferable license from the Microsoft store for already owning the game. (lol, I know..)
*edit: I shouldn't be so cynical; and am gobsmacked - there is a free version available for existing owners. Nice job Microsoft! (Login to Mojang account to claim the copy.)
"there is a free version available for existing owners"
I was also pleasantly surpise and with this I actually have a reason to use it. My 6y old has tinkered with the tutorial in Scratch and plays Minecraft like a mad man so this is a match made in heaven.
Almost makes up for having to buy it one more time on the Switch.
The first step is to get the runtime and interpreter running. Next step is to bring the jit up.
Chakra is the hybrid engine where we have the interpreter, simple jit and full jit. The interpreter is the one which does all the profile data collection. Profile data is required to get the quality jit code.
Hi! Thanks for explanation and another cool product!
One question that just came to my mind regarding this: Have you thought about a configurable/modular build where this interpreter/simple jit/full jit can be switched? Or is this perhaps already there?
I can think of some use cases where it would be interesting to build a modern and full featured JS engine in interpreter-only mode. E.g. to integrate it into platforms which don't allow JIT (iOS), to reduce the footprint or the attack surface. Or to be able to port it the other platforms without much effort - in the embedded domain there are still other processors than x86 and arm and other OSes than Windows, Linux and OSX floating around.
I'm happy to see WebAssembly talked about on there. It talks about standardisation and the polyfil (using asm.js). Any idea on when support will be worked on in the engine?