“Node.js is one of the worst things to happen to the software industry” (2012)
harmful.cat-v.org
harmful.cat-v.org
Now we have async/await, I think there is no problem.
Callbacks were advertised as the reason why one should use node. They're a foundation of JS.
Then they got covered up by promises. And now, with async await, we're back full circle towards the style of a more linear programming language such as python.
Yes, sure, if you ignore all the other programming languages, like Erlang, which is older even than first hacked versions of JavaScript.
Node is a band aid on top of a tech stack that webdev is stuck with.
Node was done with concurrency in mind, JS wasn't.
Compare apples to apples:
How does Erlang's ecosystem stack up when it comes to concurrency? How does it compare to Node? Do you even care given your prejudices regarding JS?
Callback were just the way of doing that in JS. Now we have Promises + Async/Await as sugar around what is basically the same pattern
ie - cb(err, result) is not that different than .catch(err).then(result) but it’s much nicer to develop with.
Of course now you can do the same in imperative try/catch for with await so yes, we’re back to similar syntax but a whole lot change under the hood and provided a much more performant concurrent model
Where can I see that advertisement?
I'm pretty sure that the main selling point of Node.js is and always has been that you can easily share code with the browser.
Like Visual Basic-- it convinced people who otherwise had no idea what they were doing that they were programmers.
It's fun for the rest of us CS/Math guys to sit back and watch you JS programmers discover things we learned 40 years ago. :-)
Most of the concepts in JS date back to Scheme and the Actor Pattern languages of the 70s & 80s.
In other words: you really don’t know what you’re talking about.
Some of the worst code that I've ever seen has been written by hard maths people.
> It's fun for the rest of us CS/Math guys to sit back and watch you JS programmers discover things we learned 40 years ago. :-)
Such as?
But I think you're reading more into what I said than what was meant.
Libuv, the I/O engine for Node.js is written in C and Node.js itself is a mixture of C, C++ and JavaScript. Plenty of other "JS programmers" including myself have also been programmers of C, C++, .NET and many other environments all of which have well defined concurrency stories. None of these people fit your profile.
> But I think you're reading more into what I said than what was meant.
Sorry, but this comment conveys no useful information to me. Your original statements were quite explicit.
I did not mean everyone who writes JS is a bad programmer. That's not only a dogmatic statement but demonstrably false.
However, people who shouldn't be programmers have to land somewhere and right now its JS.-- just like VB was back in the day.
It's clear to me at least, that JS has been stretched beyond its abstraction level. It's ripe for replacement, its just that attempts to replace it have been closed solutions, so JS continues.
I'm not sure what way you believe it is being used?
I don't think there's a single language or framework that I haven't heard this about.
None of our tools are perfect, but great software has been written with all of them anyway, and lots of people have enjoyed working with those tools along the way.
If you don't like a tool, switch or build a better one. Don't write long borderline-nihilistic blog posts about how everything is terrible and we're all clueless.
"The only thing that matters in software is the experience of the user."
I agree.
"for any other problem anything else will be much better than Node.js, even PHP."
Why?
While it might be true to certain extend (i.e. Node not being the right solution for many cases), this article is just filled with baseless arguments.
Thanks for that :)