Re:Go Contracts – Draft Design
by weberc2 on Monday July 29, 2019 @01:27PM
(#20557052)
Or take leftpad. The point is there is a spectrum along which the cost/reward calculation varies. Absolutely don't roll your own crypto and absolutely roll your own leftpad. Maybe this is a bad conclusion, but I think it's important to address that not all dependencies are crypto, at any rate.
[ Parent
| on HN ]
Another example is internationalization. Most of the reason why software is bad for people who don't use non-Latin text is that people keep writing homebrew text code instead of using dependencies. This has ugly cultural implications, and it's entirely because of the "copying is better than dependencies" philosophy.
Re:Go Contracts – Draft Design
by dragonwriter on Tuesday July 30, 2019 @02:43PM
(#20567861)
> Or take leftpad.
Leftpad was a problem with a particular package management system, not with code reuse. It's true that avoiding code reuse is a way to avoid package management problems, but it's kind of like the way decapitation is a way of avoiding mental health problems.
As pcwalton already said, the problem with left-pad was with npm and not the concept or the usage of dependencies per se.
This thread is debating that premise. Your argument is ultimately circular: “the problem with leftpad was npm because the problem with leftpad is npm”. pcwalton may well be correct (we often disagree and frustratingly he’s probably right more often than me) but not because of this circular argument.