The problem with plastic
While some forms of such synthetic materials existed long before the 20th century, the true breakthrough came when we started making materials from oil. It eventually led to ability of creating durable materials with carefully designed characteristics at the lowest possible price. The economist’s idea of heaven.
It is important to remember that plastic (as a material) is inferior to most other types of materials (metals, carbon fibre, other types of composites) in specific applications. The advantage of plastic was that it was suitable for 90% of massively manufactured goods and this advantage outweighed the obvious superiority of conventional ones.
The fatal consequences of this decision was realized almost half a decade later, when it was a bit too late. All supply chains are centred on oil and plastics, consumers are used to it, alternative materials forgotten or never invented in the first place. “Specialists” in plastic industry deprecated instantly, while scientists and companies working on new types of materials are valued highly. Our ground, water supply, and most of the living organisms on earth are polluted with microplastics and there is no known way for man to filter it our. All thanks to cheapness, convenience, and reusability.
When I say a giant monolith, I mean the size of the runtime required to run it. Electron apps are shipped with a whole Chromium installation even for the simplest of apps (like a calculator). While there is an argument that we have all this computing power, might as well use it. Yes. We could use it to cure cancer, to sequence DNA genes, explore the stars. Instead, we use it to draw buttons.
The similarities with plastic do not end here. Let’s talk about npm packages now. Package-based dependency systems have existed for a long time. It includes both Linux-style package managers (
packman, …), ported Linux-style package managers (Homebrew,
chocolatey, …), and language-based managers (
gem, Maven, …). Now, if you used any of those, I need not explain why
npm is such an abomination to work with. You get tens of thousands of packages in your
node_modules that may or may not work with each other, or contain malware, or be simply abandoned. The odds of this happening in a package are minuscule, but when you scale it up exponentially, the situation becomes frightening. How often did you run
rm -r node_modules and
npm i again? Does this compare with how often you reinstall your OS? Developers are encouraged to depend on stuff, without thinking of the implications this dependency represents (much like building supply chains). This is all driven by the open-source dogma, saying that since anyone is able to fix the code, someone will. Well, he may or may not.
Do not get me wrong