this post was submitted on 11 Aug 2025
563 points (98.6% liked)

Programmer Humor

25699 readers
1233 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] dejected_warp_core@lemmy.world 14 points 2 days ago* (last edited 2 days ago) (2 children)

I used to struggle with this, until I realized what's really going on. To do conventional web development, you have to download a zillion node modules so you can:

  • Build one or more "transpilers" (e.g. Typescript, Sass support, JSX)
  • Build linters and other SAST/DAST tooling
  • Build packaging tools, to bundle, tree-shake, and minify your code
  • Use shims/glue to hold all that together
  • Use libraries that support the end product (e.g. React)
  • Furnish multiple versions of dependencies in order for each tool to have its own (stable) graph

All this dwarfs any code you're going to write by multiple orders of magnitude. I once had a node_modules tree that clocked in at over 1.5GB of sourcecode. What I was writing would have fit on a floppy-disk.

That said, it's kind of insane. The problem is that there's no binary releases, nor fully-vendored/bundled packages. The entire toolchain source, except nodejs and npm, is downloaded in its entirety, on every such project you run.

In contrast, if you made C++ or Rust developers rebuild their entire toolchain from source on every project, they'd riot. Or, they would re-invent binary releases that weekend.

[–] silasmariner@programming.dev 6 points 2 days ago

And if you made JavaScript developers use compatible versions for everything they'd riot. And also every build would fail for, like, at least a week

[–] catnip@lemmy.zip 5 points 1 day ago

Boy do i have news concerning rust :p