Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Actually what I have found it has highlighted is just how many of the Node advocates completely and utterly fail to understand their competition. I really, really wanted to think it was just a few isolated people, but the evidence suggests that the meme that Node is actually some sort of multiprocessing breakthrough has spread further in the last few months, rather than dying out.

So let me lay it out for you: Node's multithreading is primitive. There are in fact other languages that can simultaneously do long-running computations and serve web pages at the same time, because they are not single-threaded under the hood. That is a Node limitation, not a fundamental computing limitation. Many of those other environments can also trivially use multiple cores within the same OS process.

We are discussing the limitations of Node with regard to long running precisely because it is a limitation that Node in particular has, and that there are other environments that do not have it. We are discussing this limitation precisely because the casual presumption you make in your last sentence that Node is the epitome of programming platform, and therefore if it has a problem then everything else must suck too, is false.

I am staggered at the degree of ignorance of other platforms being displayed by the Node partisans here, because it's not "well, OK, that's nice but in practice I don't care", which I would disagree with but would at least consider debatable (and I mean that quite honestly), but rather just a continuous talking past the Node partisans entirely, with little evidence that they even understand what is being said. I say this from experience over the past couple of days, where it's pretty clear the Node partisans seem fundamentally incapable of considering the concept of "environment that does not have the fundamental limitations of Node".

Several of you seem to be expressing confusion about why some of us aren't coming around to seeing the light. To you all, I'd recommend this essay: http://www.paulgraham.com/avg.html Hint: Node is blub.

Let me be clear about my motivation in writing this, and generally trying to tamp down on the Node hype. First, it's bad for Node. I've seen this cycle before, and as fun as the ride up is, when it is predicated on false claims it tends to explode at some point and the whole thing goes down in flames. (A process that may now be starting.) Second, those of you who only know Node and think it is the epitome need to have it explained to you that there are in fact other tools that are more useful in these cases, so if you ever encounter those problems you can use the right tool for the job. Otherwise, you'll blow untold manhours trying to force a old paradigm to do something you could have done in a more modern one much faster and more effectively. I don't hate Node; I hate the hype, and the damage it is doing to a large group of people by lying to them about what the competition does.



how many of the Node advocates completely and utterly fail to understand their competition

I agree, but as someone who is generally excited about Nodejs, I see it as necessary growing pains. These kinds of criticisms and back-and-forth and flamewars, if a language or platform is having them, it doesn't make it fade into obscurity, it forces it to mature, either technically or socially. It also has the benefit of bringing it's most ideological advocates down to earth. I feel as though I watched this whole process with Rails, which went from The Greatest Thing Ever(tm) to simply another framework with some big advantages to go with it's known disadvantages.

And now it's happening with Nodejs, and I think that's ultimately a good thing.


As somebody who got into Ruby shortly before Rails (because I'd heard it was a "modern Smalltalk") and was writing JavaScript back when DHTML was the new shiny thing, that's my perspective too. The evolution of Node.js reminds me a lot of Rails. It lent an air of legitimacy to a language that a lot of people used to look at sideways if at all, and it's rather overhyped by an influx of people who were plagued by the problems it solves, but it is fundamentally pretty good even when you drill past the hype.


My take on that article is that the fact that node is written in "blub" could equally be seen as an advantage.

Popularity will also mean a broad based skill set ready to work for you when it comes hiring time.

Of ever developer who's worked in Ruby, PHP, C#, Blub... they've all had to have their hands on Javascript. So this one-ring-to-rule-them-all isn't necessarily about being the best & most powerful language ... but it's the one that might be easier to hire for.

What of the social cachet attached to working in the "cool" language?

I wrote project in node and I loved it. I learned a mountain about Javascript. And in that respect, it's been a resounding success.

It has even been mildly successful running at ~1000 uniques a day, ~3000pv. In retrospect, it was absolutely the wrong tool for the job. Totally stupid. Should have used PHP & MySQL. (Or even node+mysql for that matter).

Regardless - I'm now a lot clearer on what a good use of node is vs. what a bad use is. (Hooray for deliberate professional practice).

I've read about some other languages that "already do what node says it does" - I've heard "Ruby's twisted something-or-other does that", either LISP or SCALA or something.

But I couldn't work in those languages and simultaneously increase my knowledge and understanding within my current professional practice (in a way that is directly relevant). With node/javascript I am able to get both.

I'm not actually sure if my point is very well made. It's certainly not a rebuttal to what you've said (Or even a very effective redirect for that matter).

I'd love to know more about the other stuff & the competition (as you say), but I was attracted to node. I've only got so many hours a day to program. I've got to start somewhere and picking up node (to me) seemed a really fantastic place to start.


If you really want to find out about what makes Node.js tick, do yourself a favor and spend some quality time within C and the related I/O APIs, like select/poll, epoll, kqueue, AIO and all that stuff.

After that you'll have 3 revelations:

(1) everything sucks badly

(2) non-blocking I/O really is available in every platform and programming language

(3) you'll learn to appreciate older developers that have solved these problems years ago, without ranting on stupid blogs




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: