Why introduce a new VM and break backwards compatibility at the same time?
I agree that "Big bangs" aren't always a good idea. However, what I believe is the case is - Any language geeks can feel to tell me I'm wrong here - is that the new VM benefited tremendously from making Ruby's syntax more regular. "MRI", Matzo's Ruby Interpreter, produced the unfortunate effect of making whatever its haphazard result were into "Standard Ruby". Making a faster interpreter that preserved all this stuff would be hard. So in this case, a "big bang", however painful, made sense
I agree that "Big bangs" aren't always a good idea. However, what I believe is the case is - Any language geeks can feel to tell me I'm wrong here - is that the new VM benefited tremendously from making Ruby's syntax more regular. "MRI", Matzo's Ruby Interpreter, produced the unfortunate effect of making whatever its haphazard result were into "Standard Ruby". Making a faster interpreter that preserved all this stuff would be hard. So in this case, a "big bang", however painful, made sense