Maybe if we didn't virtualize everything at machine level we'd have portable software that runs on the original virtualization method: processes.
Stares at Go as about the only step in that direction...