RingoJS vs NodeJS
gmosx.com
gmosx.com
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.
EDIT: Oh yeah, I forgot to say... RingoJS looks great. Keep up the good work :)
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.
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...
You're backpedaling. If you're going to rant, own it. Otherwise don't rant.
Seriously, whether I'll like your feedback or not doesn't really matter; I'm certain it will be valuable in either case.
- 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
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.
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...)
"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.
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!
(btw, nodejs and ringojs are on the same side: SSJS)
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)
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)
* 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.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.