Executing programm from SD

I am very interested in this.
Java should serve that purpose, but is not an option, java is very heavy (I know it has almost completely implemented a compiler that generated .class).
As colleagues told, the option is an interpreter.
One question guys.
They used Arduino Mega (ATmega1280) because the microcontroller is faster / more memory, or because somehow ATmega1280 allows memory hierarchy (execute instructions directly from SD)?

Thanks
Xano