6 ms·
I really hate posts like this. It's full of vague statements like: "When we found that Java did not seem to fit the project requirements (no offense),
by bascule 13y ago
I really hate posts like this. It's full of vague statements like:
"When we found that Java did not seem to fit the
project requirements (no offense), we began exploring
the world of Node.js"
and
"By the end of the exercise, people understood the core
value of Node.js; indeed, some of the con arguments proved
to be part of the beauty of the language."
What's wrong with this? The pros and cons of Java versus Node.js aren't explained. In fact, I'm hard pressed to find any specific information in this article at all about what drove their decision making, or for that matter, anything in this article that's remotely technical.
This is a fluff piece that won't inform you about anything besides the fact that eBay is using Node. Cool story? But you're not telling us why
- dpapathanasiou 13y agoI agree; it reminded me of this, in a bad way: http://www.youtube.com/watch?v=bzkRVzciAZg http://www.youtube.com/watch?v=bzkRVzciAZg
- voidlogic 13y agoWow- That is great. Thanks for sharing!
- smrtinsert 13y agoIt's most likely a resume padder so that eBay engineers can stay in the good graces of the Silicon Valley echo chamber.
- voidlogic 13y agoThey talk about how under "Scalability" how "Java did not seem to fit the project requirements"... I'm sure a Java implementation can be less scalable than a node.js implementation, but every anecdotal piece of evidence I have experienced suggests that a good Java implementation will be faster than a good node.js implementation. If we look to popular micro-benchmarks, they support my anecdotal observation: http://benchmarksgame.alioth.debian.org/u64/benchmark.php?test=all&lang=java&lang2=v8&data=u64 http://benchmarksgame.alioth.debian.org/u64/benchmark.php?te... http://www.techempower.com/benchmarks/ http://www.techempower.com/benchmarks/ On a side node: node.js also suffers from the issue that while a small node.js program might be fast, what is actually fast is the C code and as the program grows larger and increasing amounts of time are spent executing actual javascript its performance characteristics change dramatically. This fact seems often lead to unrealistic understanding of node.js performance due to people benchmarking very small examples.
- just2n 13y agoThis is less an issue with "very small examples" and more an issue of people throwing the practices out when they build more complex software. Highly performant JS ends up looking a lot like C, and most of the off-the-shelf JS libraries that people use to build software are littered with '.call', '.apply', 'arguments', null/undefined/true/false usage, implicit type conversions, unnecessary closures, etc. All of these are cases that V8 doesn't optimize well, and because the libraries are built to be highly abstract and useful by using these, performance drops off precipitously. It's completely possible to write a large JS application that's competitive with Java in performance -- but nobody does it. V8 hasn't even really begun optimizing these things, and they're going to be incredibly hard to optimize well. So perhaps a more apt question is: when JS VMs have as much time in the oven as the JVM has had, what will the performance look like?
- drderidder 13y agoThe article was about the How more than the Why (ie. "How We Built eBay's First Node.JS Application). It would be interesting to know more about the pro/con debates, but it did a pretty good job of providing high level detail on their development stack. With new technologies people often ask 'what large production environments has this been used in?' Articles like this help to answer that. And since there are so many modules and options for node developers, articles that highlight some of the more popular and mature modules can really help narrow the field for people who are wondering where to start. By the way TechEmpower has some great comparisons of performance metrics that are probably targeted more to readers like yourself who want detailed comparisons and analysis of technologies under particular use cases.
- mcintyre1994 13y agoThe most annoying part for me was "This being a normal scenario in any event loop-based model like Node.js, the logs are crossed between multiple URL transactions, and the reporting tool shows scrambled output. We have worked out both short-term and long-term resolutions for this issue." which sounds like a serious problem for pretty much anybody. I know they're not obliged to tell us their solutions, but come on, they're a big company with lots of smart engineers and billions of dollars. We already know they can solve problems, telling us they've done so is neither interesting nor useful.