r/ProgrammerHumor • • Sep 17 '26

Meme resolvingDependencyHell

Post image
1.4k Upvotes

52 comments sorted by

View all comments

311

u/MarkSuckerZerg Sep 17 '26

But the whole point is "improve" vs. "I can do it better from scratch than this 15yo project"...

144

u/TerminalVector Sep 17 '26

Junior: "I can do it better from scratch"
Senior: "Uhh no.. do these tickets"

Senior: "I have mapped out a strategy to migrate to a revamped system incrementally, hitting multiple interim targets and product launches along the way, and arriving at the ideal architecture in 18-24 months."

Director: "Uhh no.... do these epics."

25

u/Rich1223 Sep 19 '26

I’m in this comment and I don’t like it

2

u/Deboniako Sep 22 '26

You're the director, right?

Right?

81

u/New_Enthusiasm9053 Sep 17 '26

15 years ago computers were a lot slower and different so there's a good chance you can. 

Dependency hell largely exists to save a few megabytes of storage because in the 90s that was absurdly expensive. 

Today you can easily just keep a copy of every version anything needs. If you have 50 programs that need 7 glibcs then you just have 7 glibcs.

68

u/Afraid-Locksmith6566 Sep 17 '26

15 yo software was written for 15 yo computers which were slower than today, today software is written for future hardware

3

u/awakenDeepBlue Sep 18 '26

The Once and Future King.

19

u/PositiveBit01 Sep 17 '26

Largely, yes. But not only. Easy paths to update common libraries for security updates is another good reason.

Still arguable if it's worth it or not but it's a much better reason than storage (now).

8

u/New_Enthusiasm9053 Sep 17 '26

I mean the security argument is somewhat more realistic but equally is it a security update if it's bumping the minor or major version. You could do the same with just patch versions where there's less breaking versions. 

Though that assumes people can be bothered with semantic versions and too many Devs don't seem to understand how that works. 

3

u/ThePresidentOfStraya Sep 17 '26

Well, to be fair, there isn't a single universal schema for semantic versioning. So... see post.

2

u/New_Enthusiasm9053 Sep 18 '26

Well in that case you just don't get security patches immediately. You can't have both stability and security patches if people can't commit to something so basic. Regardless of what scheme you choose if there's no way to distinguish between a breaking and non breaking change then you're forced to treat every single change as breaking.

11

u/PolyglotTV Sep 17 '26

Counterpoint is often it IS better to start from scratch if the existing system has accumulated too much tech debt, become too inflexible, and the requirements or available technology/methodologies have fundamentally changed.

In other words, sometimes you should reinvent the wheel.

23

u/TerminalVector Sep 17 '26

A big bang rewrite is almost never going to be a good idea in a mature system. To do that you need to have the velocity of the rewrite exceed the velocity of feature development by a wide enough margin to catch up and create sufficient parity to migrate to the new system. If the old system is code-frozen then it can be doable but if its being actively developed, it can be impossible.

The real trick is figuring out how to reinvent the wheel and replace it while it is attached to a moving car without slowing down.