Ok, just checking up on this topic and I would like to make a few things clear.
Firstly, the purpose of compiling to bytecode in this case is not the same as with most compiled languages.
The idea is firstly to save memory (servers should be thankful for this, transferring bytecode instead of the sourcecode will provide all sorts of benefits) and secondly so that the Lua VM does not have to compile the program every time it runs. Compile once, run many more times as opposed to compile every time.
Elvish Jerricco speaks quite a bit of sense here.
I also have looked into Lua Bytecode, and I would like to debunk the idea that Lua bytecode is in anyway dangerous.
In itself, Lua bytecode is completely harmless. Any possible harm that could arise will be from any native calls made.
Even with that in mind, the worst someone could do is delete all files or swap out the start up file.
The former isn't rectifiable but the latter is. Beyond that, any computercraft lua code is completely harmless.
Jarle212, on 06 June 2013 - 03:53 PM, said:
So native lua/java functions can not be dumped(fs, term.native, etc)
No, because dumping a lua file only dumps lua bytecode, it can't dump Java bytecode. Lua runs in a virtual machine that runs on top of the Java VM. Native calls are just ways of interfacing with the Java functions that can provide functionality that Lua itself does not contain natively such as bit manipulation and file IO.
Pinkishu, on 28 May 2013 - 07:22 PM, said:
if someone knows their way around in lua bytecode compiling probably doesnt help much though
The purpose of compiling is not obfuscation, that's just a side effect.
wilcomega, on 28 May 2013 - 02:37 PM, said:
i have looked into the code but it seems like it just decompiles it and then running it?
if thats the case you just made a program to make every program open source again
Wrong way around. This is a compiler and a runner. The compiler compiles source code to byte code. The runner runs the bytecode.
These things occur naturally when you use computercraft anyway, but by using these two programs you can reduce the size of programs because bytecode is smaller than sourcecode and you can cut out the stage before running a program where the VM has to compile a program every time before it's run.