3 ms·
Oh my. I like node, but that's a bunch of weird arguments. Most of them contain a kernel of truth, but jumping from that to node comes as some kind of non sequi
by mhd 16y ago
Oh my. I like node, but that's a bunch of weird arguments. Most of them contain a kernel of truth, but jumping from that to node comes as some kind of non sequitur.
1) Version hell: No up-to-date packages on Linux distributions? As compared to the packages they have for a fictional stable node version?
2) Rails 3: I thought you were talking about sinatra? Where did Rails come into this?
3) Again with the versions. It would be nice to give a good reason why for him the push to 1.9 would be so important.
4) Speed: Yes, the V8 engine is quite fast. This won't matter for most of your work, though. Most of the heavy lifting for Node's event system is done by libev (written in C), the same that's underneath Eventmachine. Compared to I/O, it will hardly matter. And if it will, then moving to a compiled or JVM language will probably still be better.
5) Mobile: What's wrong with JRuby? It's closer to Dalvik than anything else. And again, what's the connection to node? You're not much better of there, never mind that it uses the same engine as in the (Froyo) browser.
6) Familiar frameworks: Not that familiar, as event-driven code has to be a bit different. But yeah, you've got a sinatra clone...
7) Javascript: Finally a good point. A single implementation language is usally quite nice, and not everyone wants to go the Seaside/Parenscript route.
Don't get me wrong, it might as well be a good decision, but these arguments are a bit immature, especially all the blabbing about Ruby 1.9, which isn't exactly the complete and utter miraculous revolutionary step.
- tptacek 16y agoSince when was EventMachine written in terms of libev? EventMachine, last time I looked (which is recently --- we write a lot of EM code here), has its own idiosyncratic event library.
- mhd 16y agoDon't know with what I mixed that up (POE, probably. I know, libev is only an option there). Not that libev is a rather huge software, it's basically a wrapper around whatever the host OS provides (select, epoll, kqueue). From looking at it, eventmachines's C extension does the same. So my main point stands: A big part of the performance characteristics of node come from a lower-level C functionality. I guess that having an infrastructure that's mostly asynchronous comes second. Pure V8 speed won't matter that much for most tasks. If someone has counter-examples, I'd be pleased to hear them. As often with concurrency, better memory efficiency would probably win out.
- asnyder 16y agoFor number 7 there are more alternatives than just Seaside/Parentscript, such as NOLOH, Echo, among others.
- cheald 16y agoIt seems like the crux of his argument is speed. 1.8.x isn't fast enough, so they want to move to 1.9, but the community isn't moving to 1.9 fast enough, so they're moving to V8, which is fast.