Ruby's Biggest Challenge for 2009
antoniocangiano.com
antoniocangiano.com
Why introduce a new VM and break backwards compatibility at the same time? Why not first give people a better VM, with bytecode, better threads and all the other goodies? When people know that upgrading is painless (think Perl) then you can just upgrade without thinking twice about it. If you know you have to check the compatibility checklist of all software you have ever installed (for all you know your text editor depends on Ruby nowadays) then upgrading becomes a very unappealing task.
So, step one: introduce new VM. Step two, still don't break backwards compatibility. -If- you have to break the language, at least put some legacy mode in, so people don't have to port every script on their system.
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
The ruby language changes were mostly included in Ruby 1.8.7, and so most "pure ruby" libraries that worked there also work in 1.9.
If I remember correctly, that's due to the way ruby sorts strings
['1.8','1.9','1.10'].sort #=> ["1.10", "1.8", "1.9"] %w[1.8 1.9 1.A].sort #=> ["1.8", "1.9", "1.A"]In fact, it seems, well, extremely lazy -- but I'm not sure I understand the thinking behind it. Are there pros/cons to having a GIL approach?
I agree with the point about how projects not being ported to 1.9 begin to look unmaintained. It's been 3 months in stable now, and a year of betas before that - I can't help but start thinking any project not moving as fast as possible towards compatibility might not be one anyone should be relying on.
Most unforgivable offenders: Mongrel and the DB libraries
Most pleasant surprise: RMagick!
Perhaps more importantly, a lot of us are waiting for Rails 3.0 to move our existing applications over since there are huge risks and pains with shifting to a new version of a framework from something that currently works fairly well.
Admittedly, it wasn't that much of a problem with web, most of my "fun" from 1.8 has been with long-running processes. If you're not running them, or trying to run them I should say, there would probably be a lot less urgency - although it is faster in general anyway, so might be worth a bit of pain.
So yeah, not yet. Soon, though.
Regardless, it was a breeze to set up, and seems to be running great.
It looks like a lot of effort was invested into this -- I wonder if they'll be able to make money.
On their site, I see some Ubuntu packages which would probably work. But once I get to the point of "probably work", I might as well install the gem version.
I think Kirk Haines is looking after Mongrel now.