@donkeyblam In a nutshell: (1) there’s practically only whole-program compilation (you pull in the source of the program and that of all its dependencies and Cargo builds everything together), which might be nice for whole-program optimizations but makes it hard to update just one bit as you’d do with shared libraries, and (2) there’s this profusion of small packages, each requiring specific versions of its dependencies, so you end up carrying multiple versions of each package.
Conversation
Notices
-
Embed this notice
Ludovic Courtès (civodul@toot.aquilenet.fr)'s status on Friday, 28-Jun-2024 19:27:14 JST Ludovic Courtès - Haelwenn /элвэн/ :triskell: likes this.
-
Embed this notice
Ludovic Courtès (civodul@toot.aquilenet.fr)'s status on Friday, 28-Jun-2024 19:29:52 JST Ludovic Courtès @donkeyblam The “small package” thing is nice in a way (lowers barrier to entry, facilitates code reuse), but it also leads to fragmentation and encourages “developer selfishness”: you pick what you need without regard for the bigger picture.
It’s this approach that led to the ‘left-pad’ catastrophe in npm.
Haelwenn /элвэн/ :triskell: likes this.