6 ms·
Also why aren't we all using or moving to Ruby 1.9, instead of sticking with 1.8?
by ballen 17y ago
Also why aren't we all using or moving to Ruby 1.9, instead of sticking with 1.8?
- jherdman 17y ago1.87 is a transitional release designed to ease some of the pain of moving to 1.9. Some gems and libraries, also, aren't fully 1.9 compatible. I think more so than even these is that getting people to change can be fairly difficult.
- jamesbritt 17y agoFolks can get an idea of the gem migration situation here: http://isitruby19.com/ http://isitruby19.com/
- EvilTrout 17y agoI migrated my site to Ruby 1.9.1 about a month ago and it was mostly painless. It's now running up to 4x as fast for some requests! It's finally time to start developing entirely in Ruby 1.9 guys. Trust me.
- defen 17y agoWhat does your deployment look like? Nginx/Apache in front of Thin/Mongrel?
- catch23 17y agoI'm guessing passenger... they've had support for 1.9 for some time now.
- EvilTrout 17y agoI ran Passenger for a while in the past but I really didn't like how it would pause every rails process briefly when spinning up a new instance. Maybe that's been fixed now. Monit may be harder to set up, but it works very well once it's running.
- catch23 17y agoyou mean mongrel? Monit is a monitoring platform...
- EvilTrout 17y agoActually I meant Monit, sorry. Ruby has a memory issue with long running processes. They seem to grow and grow and need to be restarted when they get out of hand. People commonly use Monit or God for this. When you use Passenger, you can have it restart your processes after a certain amount of requests to prevent the memory leak issue, but when it happens it seems to block all requests to all processes for a short time, which is annoying to end users. It means your site can be speedy and zip along, then just pause.
- EvilTrout 17y agoWe've tried various deployments over the years with various levels of success. Our 1.9 deployment is Nginx -> HaProxy -> Thin I had trouble getting Mongrel to work in 1.9 (it was my favorite in 1.8) although apparently you can do it. Thin just worked(tm) so I switched to it painlessly.
- compay 17y agoI think the main reason is simply that 1.8.6 has been "good enough" for most people. It reminds me a lot of Apache 1.3 vs. Apache 2.0. For a long while, there were also no debuggers for 1.9.1, which is a big deal for some people. Mark Moseley has done a lot of work to get them working on 1.9.1 so luckily this isn't really a concern any more. http://github.com/mark-moseley http://github.com/mark-moseley I made Ruby 1.9 my default Ruby using Macports (using the +nosuffix variant) a few months ago. Other than finding a few trivial bugs in my code and some other people's, it's been painless; though of course your mileage may vary.
- vlod 17y agothe reason for me is that (afaik) ruby-debug doesn't work with ruby 1.9. im soo much more productive when i can set a break point and see why my flow isn't working.
- percept 17y agoI did but was surprised how many others didn't (and still haven't). There were some hiccups but nothing insurmountable. Of course I blew everything away upgrading to Snow Leopard so I'll have to replace/upgrade with 1.9 again (though I'm also considering Ruby Version Manager).
- charlesju 17y agoIt's easier to development on proven technology than to upgrade sometimes, especially when there are tight product deadlines. Also, running on a Mac, it is easier to use whatever Mac is using so that your code has less bugs across different dev machines.
- mikebo 17y agoOne of the big improvements ruby enterprise edition made is to make Ruby's GC copy on write friendly. This allows you to run a lot more ruby processes per frontend in a web environmet, since you're usually ram limited. Afaik 1.9 didn't address this.