Live data from Hacker News

Usability Improvements in GCC 15

developers.redhat.com

171–180 of 231 posts

Re: Usability Improvements in GCC 15

#171

Earlier quoted context omitted.

Browser makers should straight up remove the JS API for interacting with history. There are legitimate uses for it, but the malicious actors far outweigh the good ones at this point. Just remove it.

This type of thinking is what doomed uBlock Origin. I strongly disagree.

Perhaps the users should be given an option to opt out (enabled by default) for such APIs on a per-site basis. That way, users can intervene when they're abused, while their fair use will remain transparent.

Re: Usability Improvements in GCC 15

#172
post #5

Earlier quoted context omitted.

GCC can honestly only blame itself for its inevitable increasing obsolescence. LLVM only has the attention it has because it can be used as a building block in other compilers. GCC could've made a tool and library which accepts IR, performs optimizations and emits machine code, but the project avoided that for ideological reasons, and as a result created a void in the ecosystem for a project like LLVM.

Is it still the case that the Linux kernel cannot be compiled using clang, or can you do that now?

There are a few distros that use Clang as the system compiler (SerpentOS and Chimera Linux for two).

Re: Usability Improvements in GCC 15

#173

Earlier quoted context omitted.

gccrs is a rust implementation for gcc. Just because Rust developers don't want their users to be fully free doesn't mean there are any problems with gcc. And clang is developed by Apple which is a huge warning sign by itself.

LLVM/Clang is evolving more quickly than and is a much richer base for innovation than GCC is. LLVM spawned Rust, Swift, and Zig. The most recent GCC languages are Spark and COBOL. One of the reasons that LLVM has been able to evolve so quickly is because of all the corporate contribution it gets. GCC users want Clang/LLVM users to know how dumb they are for taking advantage of all the voluntary corporate investment…

Amazon and the like appreciate indeed their freedom not to contribute back, while pumping the cash register.

Re: Usability Improvements in GCC 15

#174
post #117

Earlier quoted context omitted.

The point was the whole clang package, and no they don't, plenty of examples.

Except they do, plenty of examples (many already provided)

Examples yes, I provided the examples of everyone taking advantage while not contributing.

I am still waiting for the counter examples regarding clang contributions.

Re: Usability Improvements in GCC 15

#175
post #113

Earlier quoted context omitted.

So are you aware how many contributions have actually been upstream by Sony, Nintendo, IBM, ARM, Green Hills, Codegear, TI, Microchip, Codeplay, NVidia, AMD, Intel, HP,.... ? Because Apple certainly isn't alone.

The question is less what's upstream than what's not.

The question is who is leeching clang while pumping the cash register.

Re: Usability Improvements in GCC 15

#176

Using a hierarchy to show template errors is brilliant and I'm sort of surprised compilers haven't always done that. I was investigating C++-style templates for a hobby language of mine and SFINAE is an important property to make them work in realistic codebases, but leads to exactly this problem. When a compile error occurs, there isn't a single cause, or even a linear chain of causes, but an potentially arbitrarily…

Only if stuck in C++17 and earlier.

Past that point SFINAE should be left for existing code, while new code should make use of concepts and compile time execution.

Re: Usability Improvements in GCC 15

#177

Earlier quoted context omitted.

I really wish templates didn't work on a dumb "replace at call site until something compiles" manner. All template requirements should be verified at the function definition, not at every call site. There is concepts. But they are so unwieldy.

C++0x concepts tried to achieve that but that didn't work. (But Rust traits works like that)

There were lots of politics evolved, moreso than technical issues.

While not perfect concepts lite, alongside compile time evaluation do the job.

Re: Usability Improvements in GCC 15

#178
post #148
post #123

Earlier quoted context omitted.

And gccrs is not really very widely used and is not the "official" Rust compiler. The Rust project chose to base their compiler on LLVM, for good technical reasons. That's bad news for the GCC project.

I thought that most FOSS projects took multiple compiler implementations as a sign of a healthy language environment, without much prestige associated with being the "premier" compiler and instead having more of an it-takes-a-village attitude. Granted, I'm mostly extrapolating from Go and Python here - is it a sharper divide in the Rust community?

No, and I think the gccrs project is great and a sign that the language is maturing. I'm just saying that LLVM was chosen instead of GCC to build the official Rust compiler for very good technical reasons, and that ought to worry GCC.

Re: Usability Improvements in GCC 15

#179
post #135
post #98

Earlier quoted context omitted.

Are you calling Linux a UNIX? I mean GNU/Linux is certainly a UNIX-like system, but aren't "UNIXes" typically used to refer to operating systems which stem from AT&T's UNIX, such as the BSDs and Solaris and HP-UX and the like? GNU's Not UNIX after all

GNU isn't Unix as NT isn't Win32. Gnu promotes Unix, but also promotes Emacs on top. NT can run Win32 on top of it, but there's far more than Win32 with NT systems. Just get ReactOS and open the NT object explorer under explorer.exe. Far more advanced than Windows 95/98.

Win32 is an API, while UNIX, NT and GNU are all operating systems made by AT&T, Microsoft and the GNU Project respectively. I agree that the GNU operating system isn't the UNIX operating system, and I agree that the NT operating system isn't the Win32 API, but I have no idea what comparison you're trying to draw.

It almost sounds like you think UNIX is an API like Win32, and that GNU is an operating system which "implements UNIX" like NT is an operating system which "implements Win32"? Are you confusing UNIX with POSIX?

GNU was made to replace UNIX, not to promote it.

Re: Usability Improvements in GCC 15

#180
post #109

Earlier quoted context omitted.

Forcing vendors to contribute back upstream is an attempt at making vendor toolchains not exist. If a company makes a new MCU with some exciting new instruction set, they need to make a compiler available which supports that instruction set and make that compiler available to their customers. With LLVM as the base, the vendor could make their toolchain proprietary, making it impossible to integrate it back into LLVM,…

>making it impossible to integrate it back into LLVM Code getting open source is not impossible. Companies do it all of the time because it's expensive to rebase.

Dude you can't just quote a fraction of a sentence and then argue against that fragment. Read the whole sentence. The part about how "the vendor could make their toolchain proprietary" is kinda important.
Post reply on HN