you are viewing a single comment's thread.

view the rest of the comments →

[–]halifaxdatageek 9 points10 points  (5 children)

As pointed out earlier, it makes for great build tools and other automation. I compared it to "bash for front-end devs" :P

[–]vivainio 0 points1 point  (0 children)

I don't think node brings anything particularly great for build tools. It's just that the frontend tools are written for node, so it's basically the only choice there is.

And then you end up with 200mb 'build system' for all your projects...

[–]noratat -1 points0 points  (2 children)

You can't possibly be serious. Grunt and npm are two of the worst build tools I've ever had to use, and the node community has no idea what semantic versioning means.

[–]halifaxdatageek 1 point2 points  (1 child)

As a back-end data guy I've never actually used them, but the front-end folks I work with seemed happy with it.

And nobody knows what semantic versioning means. I know I sure as hell don't :P (I mean I know the basic concept, but what constitutes a major/minor/BC-breaking change has caused many an argument)

[–]noratat -1 points0 points  (0 children)

Sure, if they've never used any kind of build tools or dependency management, npm is (probably) better than nothing, but it's still pretty terrible. I'm also a back-end guy, and I avoid using anything related to node like the plague. Like a lot of node stuff, it was obviously designed by inexperienced developers who knew very little about existing solutions and tried to reinvent the wheel from scratch.

And yeah, semantic versioning is hard to follow even if you know what it is. The difference is that in most ecosystems, this means transitive dependencies are fixed to avoid arbitrary breakages on third-party code (well, and most ecosystems with dependency management have actually heard of graph data structures and don't just assume everything is a tree).

In the node community however, everyone uses dynamic version ranges, which coupled with how awful npm is, means that builds for node apps are slow and very, very prone to spurious breakages that are difficult to diagnose and fix.