Why I hate the Node ecosystem part 27: NVM for Windows installs executables into my roaming profile.

I love elixir too (and constantly bug people at work to start using it), but think node has a strong edge on ruby/python. I don't like Go's attitude on dependencies and its syntax looks ugly to me, but that's total preference. I hate everything .net with a passion, so perhaps I'm biased on that front.

It's possible (easy!) to write unreadable code in any language, but I think that if you compare async code (which is what most web code should be, IMO - your process shouldn't wait while you shuttle network requests around) in ruby, python, or most other common languages, the node code will be much easier to understand and will have much less boilerplate. I disagree that error handling is a big problem in node - promises and generators make things fairly easy, if it becomes a concern.

I actually like this, because module authors typically use the style that fits best for whatever problem they're solving.

There's a ton of use cases for code sharing. For instance, I have several web/desktop/react-native apps that operate primarily offline, and sync data to the server when they come back online. I need to run fairly complex validations on realtively freeform data entered by a user (over 2k terse lines that change frequently - highly regulated industry). The fact that I can maintain one highly-tested version of those rules that run on the client side, and then again on the server before propagating elsewhere allows me to deliver wayyy better UX than my competitors while also being a solo developer competing with entire companies.

I'm being hyperbolic in this thread since everybody else is shitting on node, but I really do think it's a great environment that gets totally undeserved hate.

/r/programming Thread Parent Link - github.com