Hacker News new | past | comments | ask | show | jobs | submit login

Oh no, nothing so prosaic as that. (For the record I am in favor of making a [good!] living via open-source software.) The scam is this:

I believe that Node.js is waaay too immature to be used as a foundational technology, yet so many people (both folks who should know better and their naive followers) are trumpeting it as a great wonderful thing, pushing it hard as hell.

If you really need dynamic programming on your back-end server use Twisted. Twisted.

If you just said "but my engineers only know JS!" reflect: you have people that won't or can't learn Python but who feel okay about writing your back-end code.

Fire them and hire a real programmer.

Toys are very fun, and I would never try to take that away from anyone, but (in my opinion) there are waaay too many people pushing Node for production work that should know better, and that's the scam.

Node is not ready for the position which people are hyping it for, and (again in my opinion) if you are telling your non-tech-savvy clients or students that they should learn and use Node because it is ready for prime time then you're lying to them or simply naive and misguided.




> I believe that Node.js is waaay too immature to be used as a foundational technology, yet so many people (both folks who should know better and their naive followers) are trumpeting it as a great wonderful thing, pushing it hard as hell. If you really need dynamic programming on your back-end server use Twisted. Twisted.

I fail to see how Twisted is a better choice than Node , but I agree on Node.js(and NPM) immaturity.

All async frameworks need async libraries. With Node async is the default.You cant use any python sync io lib with Twisted for instance. Or it defeats its purpose.

I dont think Javascript is an issue especially with ES6 coming.

But like Twisted , NodeJS is not for everything ,that's the main issue here,with people trying to be fullstack javascript, and claiming they will replace CMS X or MVC framework Y with NodeJS.


Twisted is (would have been) a better choice because it is (was) already done. (And done really really well.)

To me it feels like people are busily (and happily) rewriting a lot of stuff in JS that might just be written better in some other language (Go) or have already been written (Erlang)

I actually like JS (Thank you Crockford) but it was startling to see it show up on the server side, and downright alarming to see so many people go apeshit over it.)


>Toys are very fun, and I would never try to take that away from anyone, but (in my opinion) there are waaay too many people pushing Node for production work that should know better, and that's the scam.

Walmart used it to deal with much of their Black Friday traffic with no incident and with modest hardware. Node hasn't hit 1.0 yet, but the major API changes are now in the past. So what, specifically, do you see as immature about the project?


All points for working code, and let me confess ignorance up front right now.

Really my irk comes down to something along the lines of, "Well why not write it in Go or something? Why JS?" and thinking that the only really good answer to that is "Well, we really like JS."


You should read this interview [1] and watch the talk [2] by node's creator Ryan Dahl to get a better understanding of where it comes from. There was much more to it than "we really like javascript" (tldr: single-threaded, evented, dynamic, freedom to write new I/O apis, backed by huge companies, well known).

[1] http://bostinno.streetwise.co/2011/01/31/node-js-interview-4...

[2] http://www.youtube.com/watch?v=jo_B4LTHi3I


> single-threaded, evented

Those are drawbacks. Fatal ones, in fact. They are distinguishing characteristics of microcomputer OSes of the 80s.


Are you talking about cooperative multitasking (vs preemptive)? Though modern OSs went a different route, it clearly works very well for servers and node.


Cheers, I will do.


Agreed that no language/framework should be the default. Best tool for the job and all that.


About the immaturity thing, so... should Node.js vanish because it is currently in a natural phase that every fucking project need to pass through... or can we just keep with the development?


Um, as long as you're asking ME what to do...

Node.js should vanish (except for where it is already deployed and useful, in maintenance/legacy mode) and all those really smart and talented people currently wasting their time on it should go build something even better and more useful.

There. How's that? ;-)

(Like this: http://swannodette.github.io/)


Wow. You are dismissing an entire technology stack with a wink and a smile that you just admitted you actually know very little about.

I have experience with Python and Twisted. For many types of applications such as realtime web collaboration, the Node stack is not only much easier to use but performs better.

If you like Python then take a look at ToffeeScript. It is cleaner than Python and works with Node.

The Node package management system is based on semantic versioning and combined with the dependency management and massive 54000 module easily searchable ecosystem is much more useful than Python.

You really don't know what you are talking about and you are pissing me off with your offhanded winky smug dismissal of Node and Node programmers.

I have been coding for more than 20 years using many different languages and platforms from c/c++ to ocaml to python to c#. And Node.js with ToffeeScript and npm is just a more advanced way to do development compared to any of those for most types of applications.

Build a few projects using Node.js and ToffeeScript and modules from npm and then come back and we will compare the experience to building the equivalent with Python/Twisted or Go.

By the way I like Go for some things but its not the best new language for systems development. I think Rust and nimrod have Go beat.


First: Respect. Sorry for pissing you off. I was acting like a troll and I don't usually do that. I'm having a bad day.

Thank you for calling me on my B.S. in a way that I can really relate to and respect.

Next: Yes, I'm ignorant of Node et. al. but my point is kind of that I shouldn't have to know about it at all, because Node shouldn't exist, and all the effort that went into it would have been better spent on other things.

Really my issue is with the whole industry and I'm just picking on Node because that's what I saw this morning. The Tornado project gave me similar misgivings.

I feel like we are constantly reinventing things (GUI widgets, IRC/IM/chat, Twisted/Tornado/NodeJS/..., video codecs, and on and on) yet certain basic really simple and important things (like getting a file from one computer to another, or UI design) are eternally neglected.

Why the heck is Dropbox a thing? You feel me?

You have actually given me food for thought, and I will check out Node.js with ToffeeScript. I'm a little leery of 54000 modules but I take your point.

But, without meaning to be harsh on Node in particular, I really feel like our industry has to kind of grow up some how. I never thought I would hate on innovation for its own sake, but it is starting to get a little ridiculous, and, from my POV, JS on the server seems a little bit too much JS. Now that it's there, and someone with your XP says it works well, well there you go, I suppose that's not a bad thing.

I apologize again for being a mouthy ignorant punk. I'll try to at least know what I'm talking about if it happens again.


OK I think I sort of understand what you are saying.

Such as, for example, why don't we have an easy to use program like Dropbox that is just built in to every operating system, or freely available and in common use? Rather than having a bunch of people rely on this commercial system just to transfer files or make them available on the internet.

I agree that we are reinventing things an amazing number of times. I think we have at least 5 times as many crappy ways to accomplish basic things as we need. And certainly more cohesion is called for.

On the other hand I think that people often don't appreciate how changes to fundamental approaches are the best way to solve problems because problems are often structural or caused by the way the issues are framed.

I agree that there is too much reinventing the wheel and fragmentation of effort. I don't believe that Node.js is a good example of that. Although 54000 modules is too many and there is quite a lot of redundancy and crap in there. But having a very easy way to publish, consume and search for modules as well as instantly handle dependencies is a step forward.


Holy cow, I think you DO sort of understand what I was saying! :-)

Obviously I don't know enough about Node.js to put it down (and from what you've said if I knew it better I think I'd like it.)

Cheers (and I will check out ToffeeScript, thanks.) :)




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

Search: