Re:“Node.js is one of the worst things to happen to the soft...
by konschubert on Tuesday November 21, 2017 @03:07AM
(#15746462)
But it's funny, isn't it?
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.
Re:“Node.js is one of the worst things to happen to the soft...
by abritinthebay on Tuesday November 21, 2017 @11:43AM
(#15749167)
It wasn’t that callbacks we’re a selling point, it’s that asynchronous execution was.
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
Re:“Node.js is one of the worst things to happen to the soft...
by patates on Tuesday November 21, 2017 @02:58AM
(#15746419)
According to the article, the node.js community hates itself. They are lucky as it seems as soon as they join the "rest of you", no one will hate them anymore.
Re:“Node.js is one of the worst things to happen to the soft...
by abritinthebay on Tuesday November 21, 2017 @02:59AM
(#15746424)
Given the number of CS/Math guys who don’t understand the basics of prototypical object systems and try to make every OOP system fit into the C++ model... I wouldn’t throw stones there.
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.
Re:“Node.js is one of the worst things to happen to the soft...
by hungerstrike on Tuesday November 21, 2017 @11:42AM
(#15749149)
Yeah because CS/Math professionals have never use VB or JS. I'm quite sure that many Wall Street quants and Fintechs who use VBA in Excel to do their job today will find your statements hilarious.
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. :-)
Re:“Node.js is one of the worst things to happen to the soft...
by hungerstrike on Tuesday November 21, 2017 @01:55PM
(#15750502)
I just don't think it's fair to say that "JS programmers are just discovering concurrency".
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.
Re:“Node.js is one of the worst things to happen to the soft...
by oceanghost on Tuesday November 21, 2017 @03:45PM
(#15751354)
I expressed myself poorly. Please accept my apologies.
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.
Re:“Node.js is one of the worst things to happen to the soft...
by vikramkrishnan on Tuesday November 21, 2017 @04:53AM
(#15746855)
I don't think node.js per se is the worst thing. However, the way it is used, particularly what I believe to be a misguided attempt to do "full stack development" is really terrible. And it is not the first time that we have made this mistake. The whole Java on the client side blew up in our faces.
If bosses really understood that client side and server side are two different problems with different mindsets and specializations we would not be in the world of pain that we are
Re:“Node.js is one of the worst things to happen to the soft...
by vikramkrishnan on Tuesday November 21, 2017 @03:15PM
(#15751161)
I am referring to the following mental algorithm I see being used by managers and some devs:
1. My front end guy does JS
2. My backend guy costs money
3. Let me remove 2 and get 1 to do both, it is all JS anyway; completely ignoring that the way you build the two is fundamentally different, with different mindsets. Language is just a small part of the equation. The claim that having a single language on FE and BE will save cash is simplistic and misguided. It is like saying since my kitchen utensils are built of stainless steel and aircraft carriers are built of stainless steel, I will get Le Crueset to manufacture my aircraft carriers
Re:“Node.js is one of the worst things to happen to the soft...
by aerovistae on Tuesday November 21, 2017 @02:53AM
(#15746394)
What morbid nonsense.
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.
Re:“Node.js is one of the worst things to happen to the soft...
by noufalibrahim on Tuesday November 21, 2017 @02:58AM
(#15746420)
That's generally true. However, when the creator of a popular language/framework disses it himself, it carries a different kind of weight that can't be easily dispelled by your argument.
Re:“Node.js is one of the worst things to happen to the soft...
by cmroanirgo on Tuesday November 21, 2017 @03:48AM
(#15746638)
It doesn't read that Ryan Dahl dissed it. He dissed every language and their role in adding to the complexity of the thing that is called IT these days. And he tried to make the focus about the user of the software: as it should be!
"The only thing that matters in software is the experience of the user."
Re:“Node.js is one of the worst things to happen to the soft...
by Guthur on Tuesday November 21, 2017 @02:56AM
(#15746409)
Why not? Is there something wrong with expressing an opinion about a programming language. You've just expressed a similar opinion about their right to expression.
Re:“Node.js is one of the worst things to happen to the soft...
by patates on Tuesday November 21, 2017 @03:02AM
(#15746437)
It pushes too hard, it's not balanced nor it is fair. There are articles which generally criticize js that I've bookmarked, but this is mostly expressing emotion not so much opinion.
Re:“Node.js is one of the worst things to happen to the soft...
by zurfyx on Tuesday November 21, 2017 @03:01AM
(#15746434)
"Of all the ways of doing concurrency, callbacks are by far the worst,"
Why? Working with callbacks on a solo thread has proved to be more performant I/O wise than threads.
"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.
Re:“Node.js is one of the worst things to happen to the soft...
by z3t4 on Tuesday November 21, 2017 @03:14AM
(#15746495)
I hear the main complaint in Node.JS, and even in Go too, is that the error handling is too verbose, eg you can not wipe all fail cases under the rug, they will litter your code and stare annoyingly at you like "hey, you have not handled me". And the code will fail spectacularly, while I guess some developers rather have silent errors with the motto "what I can not see can not hurt me". It gets unbearable for the CRUD app developers when each SQL line needs to have it's own error handling and you have to think about in what order and when to send the SQL queries, where as in traditional "skin your database" programming framework everything is done synchronously. But now we have async/await and you can just await, await, await, and even "forget" about the catch, or that everything is done asynchronously under the hood.
Re:“Node.js is one of the worst things to happen to the soft...
by finchisko on Tuesday November 21, 2017 @02:57AM
(#15746411)
Didn't read that, because title is enough for me. But usually people who hate javascript are those who didn't learn and understand it properly. I mean very basics, like concurrency model and event loop. I saw so many monstrosities in production, like checking for result of some async call, with setTimeout. No wonder, people who wrote that code, hate js.
Re:“Node.js is one of the worst things to happen to the soft...
by eljee on Tuesday November 21, 2017 @09:30PM
(#15753727)
Critiques of Node.js like this are usually from people who can't keep a single thread up and running. Can't count the number of otherwise intelligent ppl who have told me "Node.js doesn't work". No. Your code doesn't work. Try again.
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 :)