|
The only language the processor can understand is machine code. The low-level Assembly language is just a way to make machine code readable for humans. High-level languages like C/C++ must be translated to machine code by a compiler,
or to an intermediate 'byte-code' that can be executed by an interpreter (Python,Perl).
Yanaconda is one additional level 'higher' (and slower, which is not an issue because virtually all of the time is spent in YASARA commands anyway). The source code is reinterpreted continuously and can modify itself using
'explicit evaluators' described below. This revival of 'self-modifying code' allows for surprising shortcuts that can increase readability and efficiency at the same time.
|