4 ms·
> Even dependencies that aren't "essential" are super helpful in saving time. They might save time up front, but over the lifetime of a long-lived project, my
by caseyohara 2y ago
> Even dependencies that aren't "essential" are super helpful in saving time.
They might save time up front, but over the lifetime of a long-lived project, my experience is dependencies end up costing more time. Dependencies are a quintessential but often overlooked form of tech debt.
If you only work on short-lived projects or build-it-and-move-on type contract work where speed matters more than quality, sure, go nuts with dependencies. But if you care about the long term maintainability of a project, actively reducing dependencies as close to zero as possible is one of the best things you can do.
- IshKebab 2y agoI think it probably depends heavily on the dependency (heh). Would you reimplement a regex engine yourself? I hope not. Left-pad? Obviously yes. I don't think you can have blanket advice that dependencies should be avoided. I suspect even quite simple dependencies are still a time saver in the long run. Probably people prefer reimplementing them because writing code is much more fun than updating dependencies, even if it actually takes longer and isn't as good.
- thesz 2y ago> Would you reimplement a regex engine yourself? I hope not. Yes, because there are plenty to choose from. ;) I've implemented parallel-parsing-processes-style [1] parser combinators in at least three languages, though. [1] https://www.cambridge.org/core/services/aop-cambridge-core/content/view/0AF17481A41F2007752F530F07698139/S0956796804005192a.pdf/functional_pearl_parallel_parsing_processes.pdf https://www.cambridge.org/core/services/aop-cambridge-core/c...