It is a modern (compiler science) way to have interpreted code in applications instead of fully compiled one. Theoretically (and I believe in practise also in the future) interpreted code can be faster, more power efficient and less buggy than fully compiled one. There needs to be only one VM in RSS memory and all applications can use its codebase. Device drivers and kernel is a different thing, but for applications it makes sense.