That is what annoys the fuck out of me with the software community. We actually reinvent constantly but everyone praises that we never should do it. It feels like a secret master plan of a hidden lobby that want to claim novelty and creativity for themselves.
Every repackaged fad in software was pumped and sold by high paid consultants looking to sell the next buzz word to some big company who doesn’t understand software.
A bunch of them even did it to “lean startups” here in Toronto and attempted to apply it to absolutely everything where it didn’t fit or was just lightly repackaged agile. They use it to get gov ‘innovation’ credit here too which is another cancerous industry full of buzzword consultants.
Only occasionally by luck or in small hard fought increments do things actually get better via these hype trains.
Leftpad was an example where we should reinvent the wheel.
Introducing a dependency on an NPM module for so little returned value is a lot different from a physicist or mathematician relying on a peer reviewed result from another academic.
Software is different. It's an implementation not an idea. You can't compare it to math, computer science, and physics, because irrelevant details matters.
Software is build relative to other software and used relative to other software. If you reinvent something already in use that is slightly incompatible with what already exists, you must also recreate all the other stuff from scratch.
Constant reinventing in software that starts from scratch with simple and clean software, then decade later it's finally useful but full of cruft just like the previous innovation with little or no benefit over it.
Another problem with software is the amount of uneducated innovators. Starting from 'scratch the itch' and not doing research is not a good idea.
There's a difference between a software firm that has the infrastructure to develop new products and a, for example, financial firm, that will consume products and maybe tie all of that together with their own custom solution. If it already exists, and being consumed and actively developed, it's way more efficient to just buy a license than to create your own solution.
That is what annoys the fuck out of me with the software community. We actually reinvent constantly but everyone praises that we never should do it. It feels like a secret master plan of a hidden lobby that want to claim novelty and creativity for themselves.