why switching from Ruby / Sinatra to Node.js

844 views
Skip to first unread message

MilesTogoe

unread,
Jun 23, 2010, 11:49:45 PM6/23/10
to ur...@googlegroups.com, phoeni...@googlegroups.com
lots of people have asked we're switching to Node.js - here's why:

1) Ruby version hell (or apathy, or are they the same thing?)
The Ruby community seems totally apathetic to moving to 1.9.x  which is really disappointing since 1.8.x works but is really slow.  I guess if all you're doing are simple web sites or to do type apps it doesn't matter, but for any computational stuff, speed matters. 

None of the distros have moved to 1.9.x as default and some don't even support compiling 1.9.x.   Fedora is making a big effort to move to 1.8.7 - Wow!  Thats like a cell phone moving up to 2G.  Meanwhile under the last few versions of Fedora, 1.9.x won't even compile due to an openssl bug that hasn't gotten fixed - I guess no one but us has seemed to notice.  And having both versions under Ubuntu gave us lots of gem issues - RVM would fix that I guess but it's just more code cruft - rather just stay with one latest version. 

2) Rails 3 also seems to be imploding on version - it requires at least 1.8.7 but wait, it crashes on the last few p releases.  Oh but it runs on REE but wait, that's not a core release.  It won't work on 1.9.1 but is supposed to run on 1.9.2, oh but that isn't released yet.  Well, neither is Rails 3 so maybe it's a mute point.  But it's disturbing that there seems little support in the community to make a big push for Rails 3 + 1.9.2 as a much better stack.  If you're not growing, you're dying ....

3) It's too bad to see the Ruby community that fostered agile is now lead footed, comments like "1.8 is good enough" or "some old gems break so we'll just stay with 1.8" remind me of other languages and programmers which we've left behind. 

4) Js and Node are really, really fast under V8.  A Ruby community that has become apathetic to language speed is not where we want to base our future. 

5) The Ruby core team has not addressed the mobile / tablet space - making it no go for any device or off-line apps.  JRuby apparently can run under Android but then it's JRuby with all that extra lib code. 

6) many of the node.js framework contributors have come from the Ruby side so the new js frameworks are pretty familiar and well designed though it's still heavily evolving.  We find "picard" as easy to use as Sinatra

7) And finally, no real fault of Ruby, but it's nice to work under one language for both client and server side and with jQuery and <canvas>.

So we'll be dropping out of Ruby land but hope to see some of you on the other side (js). 

AJ ONeal

unread,
Jun 23, 2010, 11:58:11 PM6/23/10
to ur...@googlegroups.com

P.S. join ujsug if you haven't already. July's meeting will be on node.js... if I can find a venue...

I just compiled it yesterday.

That said, I've compiled ruby from source rather than using the distros' versions and it's been good for me.

AJ

Sent from my Google Android

--
Utah Ruby Users Group
ur...@googlegroups.com
http://groups.google.com/group/urug/
- All meeting times and places can be found here.
 
** Please prefix your subject with "[JOB]" if your message is about job opportunities.

Doug Tolton

unread,
Jun 24, 2010, 12:52:46 AM6/24/10
to ur...@googlegroups.com, phoeni...@googlegroups.com
It's too bad to see you go, but I think you'll find that node doesn't have similar problems due only to its immaturity as a platform. Rails used to be that simple as well. Once you get an established community change is a process rather than an event. For a business owner that is a good thing. One of the early criticisms of the rails community was too much change too fast. It's the age old balance between exploration and exploitation. Node is still in exploration phase, rails is much more in exploitation phase. None of this is to tell you not to change but to suggest you think about the implications of a rapidly innovating platform on a business, many of them are not positive. In any event, best of luck to you. 

Regards,
Doug

Sent from my iPad

Jake Mallory

unread,
Jun 24, 2010, 1:11:37 AM6/24/10
to ur...@googlegroups.com
Miles, sorry to hear that. I was hoping to meet you at one of the urug meetings one of these months. Have fun in JS land.

MilesTogoe

unread,
Jun 24, 2010, 12:05:00 PM6/24/10
to ur...@googlegroups.com
On 06/23/2010 10:11 PM, Jake Mallory wrote:
Miles, sorry to hear that. I was hoping to meet you at one of the urug meetings one of these months. Have fun in JS

well, I'm constantly shuttling between Jackson, Park City, and Scottsdale so maybe we can catch up at one of AJ's ujsug mtgs (since js is valuable for Ruby apps as well)

Tim Harper

unread,
Jun 24, 2010, 1:00:44 PM6/24/10
to ur...@googlegroups.com

The ruby community does feel like a bit of a mess right now, bundler
has a huge change, and it's going to change even further in 1.0. I
like bundler now (used to hate it)... but anyways, it's a good move.
It's caused me a lot of disorientation as a gem author, I'm held back
by bundler issues in 0.9.x to make some of my gems compatible with
rails 3.

As for distro versions of ruby: I wouldn't blame ruby for it, more the
distros. This is a problem is not unique to ruby. On Redhat, I had
to roll my own RPMs for git, nagios, and many more. They were all
super old on RedHat (which they do because they prioritize stability
high above freshness). V8 doesn't (won't) have this issue too?

Rails 3.0 is still in beta. Ruby 1.9.2 is expected in august. I
expect that the two will come out together. If you're not feeling
courageous and want to help improve things, I would suggest you stay
on rails 2.3. Seriously. It can hurt out here. And stay off of
bundler unless you need it. It's going to change again (for the
better) with 1.0.

The ruby community will pull through. It's hard times, indeed, these
are some growing pains, but good things are coming, and I can see it
coming back together, soon. When it does, the ecosystem will be much
better off.

But.. the question is how long people will tolerate the pain, and
which of those will react by saying "I still enjoy ruby enough and
want to make it better", and others who determine it's no longer worth
it and go elsewhere. Right now, the envelope is really being pushed,
isn't it?

Anyways, this is not to take away from all the fun you are having in
JS land. I wish you the best, Miles. We've been enjoying Clojure,
but still continue to use ruby for a variety of things.

Tim

Michael Jackson

unread,
Jun 25, 2010, 6:25:52 PM6/25/10
to ur...@googlegroups.com, phoeni...@googlegroups.com
I totally feel your pain, but I'm sorry to say that I don't see
exactly how switching to a very young platform like Node.js is going
to solve any of these problems (except for #7 which is, as you say, no
real fault of Ruby). Speed, yes. Stability, version/package
management, widespread support from Linux vendors, no.

As a pretty heavy JS developer myself, I'm searching for that happy
medium. I use Node for stuff that Node is really good at -- servers. I
use Ruby for stuff that Ruby is good at. The day may come that I'll
decide to go completely with one or the other, but it's not today.

--
Michael Jackson
http://mjijackson.com
@mjijackson

On Wed, Jun 23, 2010 at 9:49 PM, MilesTogoe <miles...@gmail.com> wrote:

Reply all
Reply to author
Forward
0 new messages