In general (problems with modular implementation, such as bytecode and native code or quality of code generation), languages โโwith metalanguage abstraction provide more opportunities for creating programs that are superior to programs that can be created in comparable time with a language in which there are no such abstractions. The fact is that when you write an implementation for your own language, you have more information to make much more powerful optimizations than the compiler for the base language can do. In practice, there are many examples of this.
, , , ( " " ) . , ( " " ) .
(, , - ), (eval 'sym), , . , 'sum , . . eval :
Java :
, -.