
RingoJS vs NodeJS - gmosx
http://www.gmosx.com/blog/agVnbW9zeHIPCxIHQXJ0aWNsZRjh2gEM/ringojs-vs-nodejs
======
fictorial
> ... 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.

~~~
gmosx
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)

~~~
ahoyhere
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.

~~~
gmosx
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...

~~~
aaronblohowiak
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.

------
chl
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/>

------
Kilimanjaro
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.

~~~
olegp
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> ?

------
ErrantX
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 :)

~~~
gmosx
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...](http://www.gmosx.com/blog/agVnbW9zeHIPCxIHQXJ0aWNsZRipwwEM/on-
appenginejs))

~~~
amix
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...](http://amix.dk/blog/post/19490#Plurk-Instant-
conversations-using-Comet)

~~~
gmosx
comet updates are a niche application

~~~
voodootikigod
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!

~~~
gmosx
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)

~~~
voodootikigod
thanks for the clarification. I was unaware.

------
dalore
> 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.

