3 ms·
"Healthy ecosystems" is a disanalogous concept here. "Diversity" is good in an ecosystem when you have multiple species that complement each other, forming a t
by shrimp_emoji 2y ago
"Healthy ecosystems" is a disanalogous concept here.
"Diversity" is good in an ecosystem when you have multiple species that complement each other, forming a trophic chain (like plants, herbivores, carnivores, and decomposers).
What you're defending is having two or more species that compete with each other, which, biologically, is a scenario that results in a single victor: https://en.wikipedia.org/wiki/Competitive_exclusion_principle https://en.wikipedia.org/wiki/Competitive_exclusion_principl...
The resultant monopoly is good at least initially because the victor, ideally, was the best at the niche it competed for. Having suddenly no competition allows it to stagnate, though, compared to if it had constant competition. Biology solves this with constant, random mutations in a cycle of death and reproduction. Maybe that's what WG21 represents for C++? ;D
In general, though, when you're "trying to do a narrow thing", diversity seems bad all around. Python beat Ruby because it was the totalitarian "there's one right way to do a thing" alternative, which was better. Apple stuff works better because it's a totalitarian design from the hardware on up (I admit this as an Apple hater). Cargo works better than CMake because it's an integrated and opinionated build system.
The "narrow thing" could even be a political agenda and a particular subset of social interactions, in which case diversity can also be viewed as negative politically and socially. See political gridlock and how much strife exists between races, religions, classes, and genders. For example, take the "don't go alone in a room with a woman" spiel that OpenBSD guy blathered about. He seemed to claim that women of low status with political axes to grind would seize clout by claiming false sexual harassment in situations without witnesses. If we suppose that scenario exists, it would impossible were there no diversity of gender/sexuality/politics/status in those environments, which would be better for the "narrow thing" of "have a BSD conference or whatever with no drama".
- blacklion 2y agoGCC stagnated before llvm/clang becomes noticeable player. And other C/C++ implementations not so much compete with each other. MSVC++ is Windows-specific. KeilC supports obscure 12-bit microcontrollers. etc. Even in any economic theory I know of (I admit, I cannot know everything!) monopoly is not praised, but rather considered bad. There are myriad of Linux distributives. Is it bad, as they compete each other? I don't think so. Kotlin give Java big push to become better language. There are a lot of examples of productive competition, in tech too.
- shrimp_emoji 2y ago> GCC stagnated before llvm/clang becomes noticeable player. Became? Recently, it seems like LLVM's libc++ has stagnated, and clang is basically just copying GCC. If GCC stagnated before, it's nice competition seems to've rekindled its fire. :p > monopoly is not praised, but rather considered bad. Because economic monopolies are not self-competitive like organisms are and use their market capture to extract more value, unlike CMake or Linux (probably). > There are myriad of Linux distributives. Is it bad, as they compete each other? In that the labor required to make and maintain a good distribution is divided among them, it can be considered bad. In that users have to choose between an array of similar things, it's also bad for them. (If the things are very different, the choice becomes clearer, but then we move away from competition and toward complementing in the ecosystem sense.)