Hacker News new | past | comments | ask | show | jobs | submit login

Another way to view it: slow builds is a poor man’s feature, that punishes you for bringing in too many deps.

The JS ecosystem (speaking as an omnivore using many languages) suffers two big problems:

1. Tooling is too fragmented and complex and poorly designed. This includes even the standard tools and formats like npm and package.json.

2. There’s a weak culture of API stability. Leave a project for 3 months and there are new config files, plugin formats, etc.

It’s improving slowly through standardization with things like ES modules. But it’s still a Wild West.




That's my main gripe about JS ecosystem. Most of the times, I only need to compile a project (either live or as a static asset). You run "npm install" and the build tool (without any project dependencies) already come with 200 folders inside node_modules. And those byte-sized libraries! It always feels like an hackathon scene.


The small core approach is way too unwieldy and the cruft only seems to be piling on further. There are constant efforts to fragment the ecosystem (like for example currently Deno and Bun, exciting as those projects may be on their own merit), while there is seemingly no interest anywhere in creating a standard library to solve the issue of those frightening dependency trees.


I tried building a Rust project and it failed because it consumed my entire remaining 8 GB of disk space... Good old NPM.

I tried running a Python project and the necessary apt-get pulled 2 GB of dependencies and conflicted with some of software I use, that's before running the pip install... Good old NPM.


There are two issues: dep bloat and “hermeticity” if you will. Cargo is quite nice and projects build in a straight forward way. However, the Rust ecosystem sucks in terms of dep bloat, imo. And the compiler artifacts are large. Python not sure, but I thought you had a way to get hermetic environments?

Go stands out as being fast, small and very limited dep bloat, thanks to a comprehensive standard library. And very minimal config files. By that standard npm is a shit show.


Python is a mess with dependencies.


it is. just because you pushed a hack to prodb doesn't mean it stops being a hack.

but that's all that younger devs know. specially people from boot camps or the CS to startup pipeline.


Because apparently the right size of a package is one function. /s


We could have locked down all the libraries, APIs, and tools to what they were in 1999, but then people would complain about that.

:p

But really, you can just use skip it all and write your own code. People would scoff now, but that’s what we did. Well, maybe with prototype and/or jQuery.


I miss slow builds. Take a walk. Grab a coffee. See how your colleagues are getting on.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: