Hacker News new | ask | show | jobs
by danuker 1767 days ago
> Competition is good.

On the other hand, collaboration is also good. Why waste time reinventing the wheel?

2 comments

Because reinventing the wheel is how progress is made. You car isn't made with wheels from 17th century.
Who told you reinventing wheel is how progress made?

Can we be precise here? I never had a memory about a major technical progress being reinventing the wheel.

To be precise:

1. Just because there is Linux, doesn't mean everyone should jump on the Linux bandwagon and abandon all work on illumos, NT, QNX, Fuchsia etc. Focusing everyone on Linux would kill progress.

2. Just because there is x86 or RISC-V, doesn't mean noone should invent new architectures. Apple went with their own and that's what gives them their edge now.

3. Just because there is already Emacs, doesn't mean that all editors should be Emacs mods.

4. And back to compilers, just because LLVM already has optimizers, doesn't mean that other people shouldn't explore other designs for their backends. Especially that LLVM is really slow, and a major bottleneck for new compilers now (see Rust, Zig and Jai e.g.).

> illumos, NT, QNX, Fuchsia

Who told you these are reinventing the wheel of Linux?

AFAIK, NT was a consumer desktop OS turned into server and meant to serve the foundation for both consumer and server OS.

QNX was a auto operating system, for which Linux does not work.

Fuschisa is meant to be a unibersal mobile OS.

These are not the same thing as Linux.

I did not meant to label theses as reinventing wheel. If I left you with such impression that was my fault in communication.

So your car wheels are still made of wood with metal roundings?
If modern tires are considered reinventing the wooden wheels, sure, then reinventing wheel is the main form of making progress. But I doubt that's how people thinking about reinventing wheel, when they use that phrase to mock others of wasting energy inventing something that has already a very-well-working alternative.
So you would drive a chariot on the same places as a four wheel traction drive Jeep?
Sorry, I was saying that reinventing wheel does not apply to the invention of modern tires...
Wasn't LLVM reinventing the wheel at the time? They could just collaborate to GCC.
They wanted to, but RMS wasn't interested at that time: https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00...

I have also been told by more than one person that does professional compiler development that GCC's codebase is very difficult to work with. At least some commentary I've read suggests that this was a deliberate choice on the part of the GNU project.

> I have also been told by more than one person that does professional compiler development that GCC's codebase is very difficult to work with.

Add another. (Now-former professional compiler developer.)

> At least some commentary I've read suggests that this was a deliberate choice on the part of the GNU project.

This is the ‘RMS loophole’ in the GPL. In theory you can do what you want with the source; in practice you need help from the insiders.

Sure, I'm not denying any problems with the GCC codebase and/or how RMS handles GNU software.

Just pointing that reinventing the wheel is not necessarily a bad thing or a waste of time.

Maybe if GCC project wasn't opposing the ability to easily integrate third-party tools we wouldn't have LLVM to begin with.