← Back to context

Comment by wisty

14 years ago

And, as other less polite posters have pointed out, some of what he says is debatable. I've read a few of Ted's posts, and while he's smart and a good communicator, he is extremely narrow minded. I'm sure he has his own way of doing stuff, and can implement like a machine using his own narrow toolset, great. No-one can learn to use every tool, and some can just be a giant time-sink (cough Google AppEngine). But that doesn't mean that everyone who uses a different toolset is a complete tool.

One minute, he's ripping into Tornado, because it's under-engineered. Then he thinks Twisted is over-engineered. Next, Node.js is crap, because it doesn't do things his way. Then there's NoSQL, which he hates, because it's not MySQL. No idea what he thinks of PostGres, he probably thinks it's got too many features.

Point 1: A Scalability Disaster Waiting to Happen. No, node.js is not a scalability disaster, and even if it is, doesn't Ted advise developers not to worry about scalability as they are only going to get ~3 long-term users in the first year?

Point 2: Node Punishes Developers Because it Disobeys the Unix. Um, you can put it behind nginx, and that buys you a lot of "separation of concerns". Honestly, he mostly seems to be insulting node.js programmers, suggesting that they don't bother to create full production systems - quote "let's be honest with ourselves here, if you're a Node developer, you are probably serving the application directly from Node, running in a screen session under your account." This seems to be really the core of his concerns - Node is easy for one guy to setup a working website. Isn't that a good thing?

Point 3: It's Fucking JavaScript. Which I guess is good if you are a JS expert.

He swings between two extremes - everyone using simpler tools than him is a retard who needs to man up and learn to program, and everyone using more dangerous tools should stop beating their chest and actually implement (premature optimization, guys!) In the case of node.js, he seems to believe both points, which I suspect is because he just doesn't like the toolset.

"Node is easy for one guy to setup a working website. Isn't that a good thing?"

Maybe. Maybe not.

Many people on this forum have had to rescue or rewrite systems that were built in Access. Access is easy for one guy to set up a database. Isn't that a good thing? Sometimes yes, sometimes no.

Ditto for Excel nightmares.

That said, a prime distinction between Excel/Access and something like Node (and I'd throw Rails in there too, given all the "it's so easy" love it got a few years ago) is open (and open source) and it's easier for the community to work around the issues that come up, release new versions quickly, and fix the bad parts faster than with closed solutions like Excel/Access.

But... just because something is easier to use doesn't mean it's the best tool for all use cases - really nothing is best for all use cases. :)

Haven't done much with Node beyond Hello World stuff - tried to install and use zombie, but couldn't get it to work.

"Node is easy for one guy to setup a working website. Isn't that a good thing?"

Having not played with production Node.js, I'm no expert. But the impression I get from the post is not that. Aside from his attack on javascript syntax (which I agree with, but can be fixed by using coffeescript) his real statement is that perceived simplicity leads to problems. If node is easy for one guy to set up a working website, did we just enable one more badly written and unstable website? We've seen countless examples of bad websites getting hacked and personal information being exposed. As a person browsing the web, I have no way of knowing whether a site is run behind nginx or directly from node. If I give them personal information, I sure hope it's behind nginx. I trust nginx to be more mature and secure than node. But if a new programmer isn't told up front that running directly from node is a bad idea, my overall browsing experience just got a littler riskier.

> He swings between two extremes - everyone using simpler tools than him is a retard who needs to man up and learn to program, and everyone using more dangerous tools should stop beating their chest and actually implement (premature optimization, guys!)

This sounds to me like Ted's a classic Blub programmer.