Re: What's so great about lisp?



Pascal Costanza <pc@xxxxxxxxx> wrote:

>You continually make languages like C++ and Java appear to have features
>that they don't really have. In C++ you can cast away any protection the
>languages purports to provide, and in Java it is also possible to bypass

Ok, I was a bit ambiguous here. I didn't want to say that C++, for
example, provides such a (hypothetical sandbox scripting) safe
environment by itself, in the way a Lisp runtime theoretically could, if
only because you cannot typically compile C++ code (easily) and load it
into the runtime. I was more talking about the (lack of) access
modifiers in general, in CLOS, which makes it even harder to isolate
certain functionality from other parts of a program.

>the access modifiers. (And the good reason for this is there is actually
>a class of programs that needs to bypass such protection, foremostly
>debuggers.)

Admittedly, on Unix (don't know how it is on Windows) you could probably
hack into /dev/mem at the appropriate address and by carefully runtime-
patching disable protective mechanisms. Or undergo some effort and
reverse-engineer and patch the anti-cheat tools. However, this is
wholly more effort (and probably beyond the means of the typical
teenager old who likes to cheat on online games) than being able to just
load a program and modify values (including functions) the "normal" way,
that is, in Lisp, through its evaluator.

>The only way I see is to check the source code of the scripts, either by
>providing an interpreter that does this on the fly, or by writing a
>module that checks the source code before it is compiled. I don't think
>there is an "easy" way to provide good protection.

Hmm.

mkb.
.



Relevant Pages