3 ms·
I don't understand, how we found ourself in the world where "one way, one tool, one repository" is good thing. It is totalitarianism, you know? It is considered
by blacklion 2y ago
I don't understand, how we found ourself in the world where "one way, one tool, one repository" is good thing.
It is totalitarianism, you know? It is considered bad in politics and social life.
Diversity is considered good for healthy ecosystems!
- high_na_euv 2y agoDont you think that applying political/social concepts to tech isnt perfect? I have exp. With various tech stacks and I know where my life was way easier when it comes to basic things
- blacklion 2y agoThere is no perfect analogy anywhere, of course, each analogy is flawed in one or another way. But I don't think we should separate politics, social dynamics and tech. Because everything (unfortunately for us, techno geeks) is politics, as everything is done by people and politics is relationship between groups of people. Your last sentence is perfectly applicable to politics too: it is way easier to be adult in totalitarian society, if your will to align yourself with "main party line", than in democratic society. You need to make much less choices yourself. But if you cannot align to this line, your life becomes miserable. I think, that any monoculture is limited and bad. In tech too.
- wiseowise 2y ago> tech wagie: I just want to make my life easier and not learn billions incompatible ideas made by billions of peoples > tech bro: diversity is important, convenience is totalitarian, everything you do is politics
- jokoon 2y agoI laughed sound like a baby Richard Stallman (I like open source but still)
- williamcotton 2y agoShould we diversify the DMV or the IRS?
- blacklion 2y agoIn my opinion, yes. But they ate diversified in a way already: I have driver license and pay taxes, but never contacted with DMV or IRS.
- williamcotton 2y agoSo yeah, what you're missing is that there are natural monopolies. One such would be a centralized tax collector for a nation state. Some others would be a centralized copyright, patent, vehicle or real estate registrar. In terms of software it helps to have a centralized repository for code as this eases development quite a bit. Imagine you need libraries from multiple repositories. That's a pretty big pain point. Eventually everyone will migrate to just a single source. Again, these are natural monopolies and primarily driven by the network effect.
- wiseowise 2y agoTotally! Let’s return back to times of dozens incompatible connectors too, diversity is important!
- blacklion 2y agoGreat example. First of all, we need dozen connectors. For network, for power, for special protocols, for special environments. No, USB-C doesn't cover it all, from space station to miniature device which needs I2C or I2S connection, for example. But lets look at USB-C alone*. It is USB-C, all USB-C is the same from the user-faced side. But they are different inside! There are a lot of variations, with different PCB footprint, different certification (aviation or automotive grade connectors vs "simple" ones), different weather protection, different mounting options. It is great that we have a LOT of different vendors for USB-C, and A LOT of different USB-C connectors! USB-C is standard, with multiple vendors. As C/C++. One connector. Multiple vendors. Diversity. [*] - and close eyes on situation with USB-C which is worse than ever, with all these functions which can or cannot be supported and you can never know what is support before trying, multiplied with same problem with myriad of cables which all look the same, but works differently. So, really, USB-C is bad example. But lets pretend it is good.
- wiseowise 2y agoYou’ve completely missed the analogy. As a user I couldn’t care less about all the bullshit innards of USB-C. All I care is that I can charge all my Android devices, all my iOS devices and my MacBooks with the same cable. As a developer I couldn’t care less whether it’s CMake, XMake, Gradle, Autotools, Bazel, Webpack, Bash script or something else. Is it standard? Is it not absolutely awful? Yes - let’s go, no: can you afford to pay devs to put up with learning yet another bullshit tool? Yes - let’s go, no - keep it to your hobby project until it reaches critical mass and becomes standard.
- 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.