How does remote method invocation reduce the ability to reverse-engineer the
code?
IMO moving bytecodes around is vastly pesserable. It executes more
efsiciently. If the bytecodes stand for low-level operations (as they do in
my product Meme) the code is not any easier to reverse-engineer than machine
code.
In addition, the bytecode can be chosen to resemble the context-free
intermediate form that the front ends of many compilers produce. This would
allow any language (well, maybe not RPG II) to be compiled to behavior code.
Meme uses an extended Forth implementation as its platform-independent code.
It is a bytecode that stands for operations in a highly efsicient stack-based
VM.
Some of the advantages of Forth and Forth-like systems:
- Very quick and easy to implement
- Fast at run-time
- Easy to add security features ("memory protection" in softwaes)
- Very difsicult to reverse-engineer (way worse than compiled C code!)
- Can be compiled from any high-level language
- The hard-core techies can program in it directly, for maximum speed.
Java is here *now*, but it's a bear to implement and port. When VR is running
in dedicated portable units that one wears, instead of in desktop machines,
we're going to want a relatively small run-time system.
^M
----
Marc de Groot Immersive Systems, Inc.
<[email protected]> San Francisco
"If I had it to do all over again, I would spell creat
with an 'e'." -Brian Kernighan