It makes me feel dirty having a script interpreter running on top of a virtual machine.
Java, Ruby, and everything else are all the same at some level. They let you type in instructions for the computer to execute. A VM is an execution strategy. Why does the front-end to that strategy make a difference to you? (Or rather, why do certain front-ends make you feel "dirty"? I think it's because you have no idea what you're talking about.)