It was at very least sarcastic if not outright hostile in tone. Perhaps you didn't mean it that way but it's hard to really read it any other way IMO.
If you want to have a conversation about the merits of Node and the JavaScript ecosystem at large. I am happy to do so but only if we keep things civil and constructive. Furthermore, I am not trying to have a Node vs Python debate here. I was asking about the merits of Python and why people are choosing it. There's clearly something there so I wanted to know because it goes about doing things so differently than I am used to. If you look at some of the other comments, you'll see that's exactly what I got.
So with that hopefully cleared up, are you wanting me to discuss why I prefer the JavaScript/Node stack over some of the other languages I've worked with? Happy to give a rundown and answer questions. The node_modules thing for instance:
Yes that is problematic although less so than it used to be. The latest versions of NPM and Yarn do a great job of resolving the dependency tree in a much saner and more predictable way with lock files and such which means you get a flatter tree with no duplicate deps. That still leaves us with a giant gob of code. This is more problematic on the front end with an SPA so lets use that. Obviously you don't want to load crap loads of JS on the page that you don't need so you leverage things like lazy module loading, tree shaking (literally discarding dead unused code in your bundle), and code splitting. Tools like Babel, Webpack, NextJS, and Parcel are really good at that kind of thing. There's also server side rendering where you hydrate your app with everything it needs on page load for a lighting fast first paint. The point is that all that stuff in your node_modules folder doesn't necessarily get loaded into your final app. I have been seeing some really interesting work coming from the NPM team recently where they are working on way to work with no node_modules folder at all! Literally JIT install from your import statements.
If there's anything else you want to discuss, a question or something, fire away.
If you want to have a conversation about the merits of Node and the JavaScript ecosystem at large. I am happy to do so but only if we keep things civil and constructive. Furthermore, I am not trying to have a Node vs Python debate here. I was asking about the merits of Python and why people are choosing it. There's clearly something there so I wanted to know because it goes about doing things so differently than I am used to. If you look at some of the other comments, you'll see that's exactly what I got.
So with that hopefully cleared up, are you wanting me to discuss why I prefer the JavaScript/Node stack over some of the other languages I've worked with? Happy to give a rundown and answer questions. The node_modules thing for instance:
Yes that is problematic although less so than it used to be. The latest versions of NPM and Yarn do a great job of resolving the dependency tree in a much saner and more predictable way with lock files and such which means you get a flatter tree with no duplicate deps. That still leaves us with a giant gob of code. This is more problematic on the front end with an SPA so lets use that. Obviously you don't want to load crap loads of JS on the page that you don't need so you leverage things like lazy module loading, tree shaking (literally discarding dead unused code in your bundle), and code splitting. Tools like Babel, Webpack, NextJS, and Parcel are really good at that kind of thing. There's also server side rendering where you hydrate your app with everything it needs on page load for a lighting fast first paint. The point is that all that stuff in your node_modules folder doesn't necessarily get loaded into your final app. I have been seeing some really interesting work coming from the NPM team recently where they are working on way to work with no node_modules folder at all! Literally JIT install from your import statements.
If there's anything else you want to discuss, a question or something, fire away.