4 ms·
And not just that - also dependencies of dependencies. You have $FRAMEWORK using $BUILD_SYSTEM and depending on $NODE_VERSION which is running on $OS_VERSION i
by pilif 2y ago
And not just that - also dependencies of dependencies.
You have $FRAMEWORK using $BUILD_SYSTEM and depending on $NODE_VERSION which is running on $OS_VERSION in $ARCHITECTURE.
Eventually, there will be a security flaw in $OS_VERSION which will force you do update the OS (which eventually will be a major OS update) and on which $NODE_VERSION might not run any more at which point you find out that $BUILD_SYSTEM doesn't run on newer node any more because it relied on a package that shipped some binary do do its thing and the source code of that binary doesn't compile on later GCC versions any more.
And now you're in deep-shit because of a very distant but yet super important security issue that brought your house of cards crumbling down.
This is not a theoretical issue either. I've seen this happen to applications with a JS frontend that was only as little as 5 years old. It was impossible to build any more and needed some serious changes because of underlying OS updates cascading up the stack.
The fewer dependencies you have and the smaller they are, the bigger is the chance that things keep running as you exchange parts of your stack when you're forced to and the bigger the chance that you will remember what you have to do to rebuild if disaster strikes.
I'm aware that for many people 5 years is a huge time span though and that you either start a new thing every year or two at which point none of this matters, or you're at the other extreme and run RHEL and are able to back-port security patches manually if the need arises at which point none of this matters either.
But if you're in the middle of the two extremes, then keeping up to date incrementally is super important and being able to do that quickly and easily is inversely proportional to the amount and size of dependencies.
- zelphirkalt 2y agoOne frequent situation is, that companies are not aware of how bad this can get and their frontend devs have a resume/hype driven thing going on, building it in the new tool, leaving after a few years for greener pastures, leaving behing a ticking time bomb for someone else to deal with. Not so many people stay at the same job 5y+ these days. Companies don't know how to keep their talent and engineers are forces to switch jobs every now and then to keep or improve their salaries.