12-28-2013, 11:44 PM
@ice added some documentation to the site now.
@wryt not so sure about using IRL ISes. IRL, there really isn't an issue if you have to use 10 commands instead of 5 to do a task, as even on the slowest computers, there would be no significant difference. In MC however, that could be almost a minute difference on a slow-ish CPU.
There's also the memory issue. Minecraft CPUs usually have 4, 8 or 16 registers, and no external RAM. Compilers for minecraft CPUs therefore have to be really careful about how much RAM it uses. My Sixteen compiler mostly directly translates from Sixteen code to Morcore binary, with some syntactic sugar. I fear that to get something similar with IRL educational ISes, we would have to both use a lot more instructions and more registers. I may be completely wrong about this though, I'm not an expert in the field.
I really don't think multiple variations of the standard IS would be a good idea. Even though they would be similar, a lot of software would for instance require stacks, which would make it unusable in all CPUs which don't have stacks. Rather remove stacks completely than leave them optional to the CPU producer.
@wryt not so sure about using IRL ISes. IRL, there really isn't an issue if you have to use 10 commands instead of 5 to do a task, as even on the slowest computers, there would be no significant difference. In MC however, that could be almost a minute difference on a slow-ish CPU.
There's also the memory issue. Minecraft CPUs usually have 4, 8 or 16 registers, and no external RAM. Compilers for minecraft CPUs therefore have to be really careful about how much RAM it uses. My Sixteen compiler mostly directly translates from Sixteen code to Morcore binary, with some syntactic sugar. I fear that to get something similar with IRL educational ISes, we would have to both use a lot more instructions and more registers. I may be completely wrong about this though, I'm not an expert in the field.
I really don't think multiple variations of the standard IS would be a good idea. Even though they would be similar, a lot of software would for instance require stacks, which would make it unusable in all CPUs which don't have stacks. Rather remove stacks completely than leave them optional to the CPU producer.