3 ms·
It’s fantastic and exciting that you’re learning this. The very idea of dynamically and blindly sucking third-party code into your project is insane. Is it goo
by swatcoder 4y ago
It’s fantastic and exciting that you’re learning this. The very idea of dynamically and blindly sucking third-party code into your project is insane.
Is it good to eschew NIH syndrome and rely on mature libraries from experienced maintainers? Often so!
But the NPM-like dependency culture of libraries depending on libraries depending on libraries ad infinitum makes it effectively impossible to actually know what code is running in your project or who to holds responsible for its failures. No one performs code reviews on their nth-order dependencies, and hardly anyone even does so for their first-order dependencies.
That’s not an engineering culture. That’s a “move fast and break things” culture, and what it leads to, by its own very explicit proclamation, is broken things.
Thankfully, we seem like we’re finally starting to find our way out of it.
- peter_d_sherman 4y ago>It’s fantastic and exciting that you’re learning this. It’s fantastic and exciting that you’re responding... >The very idea of dynamically and blindly sucking third-party code into your project is insane. Agreed -- but in some cases/situations/circumstances it may be necessary... >Is it good to eschew NIH syndrome and rely on mature libraries from experienced maintainers? Often so! Linux being the prime example of this... >But the NPM-like dependency culture of libraries depending on libraries depending on libraries ad infinitum makes it effectively impossible to actually know what code is running in your project or who to holds responsible for its failures. No one performs code reviews on their nth-order dependencies, and hardly anyone even does so for their first-order dependencies. Most Linux Package Managers -- with respect to the nested sub-dependencies that they import -- are the prime example of this... >That’s not an engineering culture. That’s a “move fast and break things” culture, and what it leads to, by its own very explicit proclamation, is broken things. Any technology where the people who must maintain it, can no longer understand it due to spiraling and out of control complexity, is broken by definition... >Thankfully, we seem like we’re finally starting to find our way out of it. You and other enlightened thinkers like yourself might indeed be starting to find your way out of it -- but if I have observed one persistent truth it is that as time evolves, technology becomes more complex (with more nested dependencies) and thus more difficult to understand/control -- albeit (again, over time) provides many more conveniences to end users... But, the main point of my post was about linguistics...