Remix.run Logo
adastra22 a day ago

...but why?

hyperman1 a day ago | parent | next [-]

Every organization, long term, will have bouts of stagnation or wrong focus. The power of competition is that users have an alternative to flock towards. This both keeps the organizations in check (they know this) or if all else fails, gives us a way to abandon the original.

Gcc and egcs, or later gcc vs llvm ar good examples in the compiler space. Everyone involved in either organization wants the best for open source compiling, and still the competition pushed innovation to everyone. Intel vs amd is a good example of what happens when one competitor is too far behind:. The other slows down innovation.

In my opinion, the rust foundation should applaud others implementing the rust language. It will cause some duplicate effort short term, but long term it will keep rust relevant and their own project in a better shape.

adastra22 19 hours ago | parent [-]

“Competition” is not a universally good thing. In this case it leads to balkanization and difficulties for the user base as no compiler will ever be 100% bug for bug compatible with the other.

Multiple implementations rarely leads to innovation, and more often leads to stagnation.

hyperman1 18 hours ago | parent [-]

I disagree here with basically everything.

Competition tends long term to provide better results, because it allows for multiple opionions by providers and choice by consumers.

No compiler is 100% bug for bug compatible with future versions of itself. If you happen to depend on bugs, you will be in trouble one day. One way to avoid this is in fact using different compilers from different providers and get an early warning.

Multiple implementations always leed to more innovation, as different leaders have different priorities causing differences in implementation.

One problem with software is the dynamic where the original source is very expensive while more copies are de facto free. Meanwhile, switching costs for users are high. This causes winner takes all dynamics where 1 vendor monopolizes a market quickly. This then causes a powerfull position for abuse, causing everyone else to suffer.

adastra22 18 hours ago | parent [-]

Would you agree that we should have competing standards? Because that’s a comparable situation.

Please point to an example where competing implementations of a language led to rapid innovation, because I don’t think you will find one.the opposite is what typically happens as the need for compatibility bogs down language development.

hyperman1 2 hours ago | parent [-]

gcc itself is a great example. Before that, we had every processor developer creating their own specific compiler. They were all expensive buggy, user unfriendly. Once a standard was implemented, there was no chance they 'd ever upgrade to the next one. Gcc was so much better than all of them. We're now at the point that a new c++ standard is available for users in a few months after being released. A big change from the not yet c89 compilers still in use in 2005

But gcc got a push themselves: from intels compiler and egcs demonstrating optimization can be better. From llvm, demonstrating sanitizers and nicer user experience. From msvc showing a less nasal demon traps.

Gcc was a great pooling of effort, and they now can do more than smaller vendors because of it. But they also aren't a monopoly, and that meand we always are able to see the alternatives for it.

IshKebab a day ago | parent | prev | next [-]

Probably partly because they can, but also it silences a stupid objection to Rust in the Linux kernel which is that LLVM doesn't support all the architectures that GCC does. "What if I want to run Linux on my S/390?"

dcgudeman a day ago | parent | prev [-]

because people what to use rust for developing linux and the preferred toolchain for that is GCC