Hacker News new | comments | show | ask | jobs | submit login
RingoJS vs NodeJS (gmosx.com)
46 points by gmosx 2675 days ago | hide | past | web | 37 comments | favorite

> ... managed to grab the attention of the developer community with cool marketing

I am not sure I would call a very good talk at jsconf "marketing" nor would I think of Ryan Dahl as "the new DHH" especially when Ryan has been known to "wish for less node.js hype".

It seems you dislike the attention node.js has been given instead of node.js itself.

> Contrast this to reports of NodeJS crashes.

This belies an assumption that node is production ready, even though it is at a very low version number, and when Ryan has stated that he would not dare put it into production standlone (not behind nginx).

Basically, I think you could have better promoted ringo.

I don't dislike node.js (I don't agree with the direction). I just believe that RingoJS is a better solution for the majority of developers. (NodeJS may be better in niche applications like chat systems, a gaming server etc, even though I believe that technologies like GAE's forthcoming Channel API are even better)

You think an awful lot of your opinions. While confidence attracts, it came across to me as a bit blowhard-ish. ry and DHH didn't really talk big talk until they had walked a big walk. Perhaps you should focus on making a great product, let the "market" decide, and then focus on self-glorification?

EDIT: Oh yeah, I forgot to say... RingoJS looks great. Keep up the good work :)

I thinks it was clear: it's not my product, I am a user of RingoJS. Hannes and the rest of the developers deserve the credit, and the glory...

Yes, and the way to win people to your way of thinking is to tell them that it's because of "cool marketing" and that it is a "toy." Swell!

The OP's advice is sound: Stop making groundless rips on the other tool, and talk about why Ringo is better. Even "better" is totally subjective, because it depends on what you WANT from a tool.

But instead of saying "If you like x, you'll love Ringo!" you basically resorted to telling those of us who love node that we're stupid.

I frankly don't care. I've seen Ringo in action and I looked at the code, and I didn't like it at all. The points you gave it in its favor don't matter to me, either. I think node is vastly superior.

But, I'm not sniping about it in inflammatory blog posts. I just. don't. use. it. That's what you do when you don't like something: you don't use it.

Getting all aggro just makes you look childish, and causes people to ignore your message.

I don't have any technical problem with NodeJS.

My problem with NodeJS is that it practically stopped the progress on the CommonJS discussion group, by moving the attention from important issues like a standard library, module transport, etc to non-issues like async. What a pitty...

async is the main reason to use NodeJS, and it supports the older module spec. I'd rather no standard library than a sub-par one.

Ah, yes. You called it a toy because toys are known for disrupting the progress of other projects? That's what toys do, I suppose?

You're backpedaling. If you're going to rant, own it. Otherwise don't rant.

I'd appreciate a couple of observations regarding what you "didn't like at all"; while I don't think that every tool has to cater to every taste or requirement, you are, AFAIK, a long-time (client-side) JavaScript developer, and getting honest feedback from that clientele would be extremely beneficial for the project.

You're not going to like any of my feedback because our views are polar opposites. :)

Pray tell me how you got inside my brain and found _that_ out!

Seriously, whether I'll like your feedback or not doesn't really matter; I'm certain it will be valuable in either case.

Things I like about RingoJS:

- Supports (most of) JavaScript 1.8 (thanks to Rhino): list comprehensions, destructuring assignments, expression closures &c. - those features [1] give the language a distinctly Pythonic feel and can lead to significantly more compact code.

- The CommonJS module system: works as expected. Not having a proper module system was one of the few drawbacks of Helma (the predecessor of RingoJS).

- Having full and easy access to the whole JVM ecosystem often makes it easy to bootstrap things, even if they're later rewritten in pure JavaScript.

- Some very exciting packages are starting to appear [2]; a current favorite of mine is berkeleystore (essentially an automatically-indexing JSON store): http://github.com/hns/berkeleystore#readme

- (Usually) laid-back, friendly & competent community (#ringojs!).

I wouldn't consider RingoJS "mature"; while it can be extremely useful in its current state (it certainly is for me) and the core functionality is stable, there's also a lot of (important) work left to do, especially when it comes to the "batteries".

In other words: For people who enjoy API and library design, RingoJS is an excellent project to contribute to right now ;-).

[1] Added to the language by Brendan Eich, more information here: http://developer.mozilla.org/en/new_in_javascript_1.8

[2] http://ringojs.org/wiki/Packages/

As a web developer I'd kill to code server-side in javascript.

Node is overly complex and overengineered for simple tasks.

Ringo runs on java which I hate, just a personal taste.

Kudos to both, just not what I need.

So while I keep an eye on SSJS, I can tell you there is no tool that suits web hobbyists like me right now.

You don't have to deal with Java if you don't want to when using RingoJS. Also, have you tried http://www.akshell.com ?

This was an OK piece till the last line. It's hardly a fair "vs" comparison if the aim is to call NodeJS a toy :)

Don't judge the whole article by a single line...

btw, I have a special definition of toy:

6. Why not use NodeJS?

Well, NodeJS is a valid, if over hyped, solution. But it only helps you come up with a toy application. With 'toy' I mean an application that runs on your laptop or your staging server. For a production app you need deployment processes, multi version processes, system setup, server tuning, database scaling, backup processes, security policies, monitoring, profiling, admin console etc, etc. App Engine is the easiest way to go from toy to production (though Heroku-Node may provide a viable alternative).

(from http://www.gmosx.com/blog/agVnbW9zeHIPCxIHQXJ0aWNsZRipwwEM/o...)

At Plurk.com we use node.js to provide comet updates to over 300.000 active clients at _once_. It's not a toy and it scales much better than most of other web-stacks I have tried. Read more here: http://amix.dk/blog/post/19490#Plurk-Instant-conversations-u...

Comparing comet performance between node and ringo should be interesting. Ringo uses jetty/cometd, so it should scale pretty decently as well. My guess is that node will use less memory per connection (and thus allow more simultanous connections), while ringo/jetty should have better latency. This is also what this benchmark suggests: http://praxx.is/post/486034949/comet-with-bayeux-node-js-vs-...

Before our node.js solution we actually ran Java along with a highly optimized JBoss Netty comet implementation and it had a hard time scaling since it used _a lot_ of memory. Generally, our Java solution used around 10 times more memory than our node.js solution. Like I note in that post:

"We have rewritten to node.js from Java+JBoss Netty, because the old solution had scalability problems. We have also been able to build a very sophisticated messaging system given JavaScript expressiveness and the simplicity of node.js. Generally, we have found node.js and V8 very impressive - and it uses about 10 times less memory than Java+Netty did."

Jetty Comet uses a lot more memory than a vanilla JBoss Netty implementation - at least based on my benchmarks.

I know, i read that post. I'm planning to do a Node/Ringo comet comparison soon, and memory usage/max connections will be a part of that.

Please do. I don't know why people keep reposting my benchmark, its terrible and really only applied to what I'm doing with Comet. Memory, etc, isn't the biggest factor for us.

comet updates are a niche application

The mainstream is composed of a million niches.

inflammatory posts with little to no statistical backing are a niche application.

That said, if you were to flip the post to be "hey node.js is cool, but check out RingoJS while you are already hot for SSJS" Now that would be awesome!

just ignore the nodejs part, then you don't have to like the whole article...

(btw, nodejs and ringojs are on the same side: SSJS)

thanks for the clarification. I was unaware.

> Don't judge the whole article by a single line...

If something is called A vs B I was would hope to see a list of how A is better than B. The only mention of NodeJS is pretty derogatory - it detracts from the promotion of RingoJS (which I found interesting)

The point of the article is to bring Ringo in the spotlight. I strongly believe that the developers are doing a great job and the seamless access to Java libraries is the great selling point.

If the article generates some (well deserved) attention for Ringo, it will be a success (even if some people do not agree with the wording)

I guess some times controversy can be helpful. The article did generate discussion on HN. And this discussion led to me taking a look at Ringo (which I hadn't heard of) to find out what the fuss what about. And now I'm considering trying out Ringo for a project I've been thinking about for a while. So, I guess, mission accomplished .


Ever consider just submitting a talk about RingoJS to "cool marketing" AKA JSConf? We are a pretty open and "underdog-rooting" group. I might know someone up in the decision committee...

Great idea, you should probably ask Hannes (the RingoJS lead developer though)

I submitted a Ringo talk to JSConf.eu 2010, haven't heard anything back from these guys so far. If that fails, I may apply for next JSConf.us. We'll get the word out there eventually :)

This sounds like something Marak would say.

why downvotes? he - again - clearly states his intentions. what's wrong with that.

clearly points out several advantages, so i think it qualifies as comparison.

  * commonjs conformant
  * mature & stable
  * java access
  * ...
i agree: dislike of nodejs shines through, but that was clear after the first paragraph. hard to talk about ssjs without mentioning node, nowadays.

> Unless you 've been living in a cage for the last year, you know that server side (better: 'general purpose') JavaScript is all the rage.

Apparently I've been living in a "cage". I think he meant cave, but nonetheless I haven't heard that server side JavaScript is all the rage.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact