Live data from Hacker News

Defending GCC considered futile

lists.gnu.org

111–120 of 209 posts

Re: Defending GCC considered futile

#111

Can someone explain to me what all the hubub is about. As far as I understand it and even as RMS himself states, isn't this mostly about them trying to block clang/LLVM tie ins to the debugger more than anything else? I don't understand whats with all the gcc sucks attitude these days. It's worked for quite some time, and yes it's showing some age due to the lack of development so it has lagged behind others, but we…

>>Can someone explain to me what all the hubub is about. As far as I understand it and even as RMS himself states, isn't this mostly about them trying to block clang/LLVM tie ins to the debugger more than anything else? The "problem" RMS has with llvm is its non-copyleft license. And yes, the issue is that he doesn't want to support llvn with GNU tools. When LLVM started they used GCCs front end to compile C code unt…

"I don't understand it either. GCC is still a great compiler. Developers seem to prefer the modular design of LLVM and they're probably right in that."

There are lots of things that are simply very hard to do with GCC, but are easily doable with LLWM.

IDE integration is just one, because it has the ability to compile just lines(at least the Apple's version).

Things we have done with LLVM:

Millions of mollecules 3D paths' rendering.

Automatic testing of software and hardware.

Simulation of military vehicles doing all kinds of things.

Digital crash test.

Natural language(speech) understanding.

Before LLVM doing all this took years, now it takes months or weeks.

This exploits the ability of understanding languages of a compiler, but is not just compiling c or c++ like gcc does.

Re: Defending GCC considered futile

#112
post #80

Earlier quoted context omitted.

" because they've been crushed by the enormous efforts of open source " As opposed to their own ineptitude (e.g. Vista and Windows 8) or the changing of the guard from original founders? I'm certain open source played a role, but I suspect a secondary one. Heck, if post XP Windows didn't suck so much, I and my parents (who nowadays run what I build them) would be using it instead of Linux for our desktops.

Vista and Windows 8 aren't the problem. Lack of presence on servers and mobile devices is the problem -- those are the two key spaces where OSS platforms have won out. Linux is still not a significant player on desktops. Microsoft is still completely dominating that space.

Mobile devices I firmly ascribe to ineptitude, and can supply some 2nd and 3rd hand details I've read about.

Servers are more complicated. In the mid-90s Windows NT started dropping in quality, and the much older decision to have mandatory file locking resulted in situations where creating a server with a major MS server application could require ~ 20 reboots. And many more bug and security fixes require reboots than they do on UNIX(TM) based/inspired platforms.

Then one could argue ineptitude in marketing when Microsoft didn't cut deals that could have made their software competitive for mass installations. I really wonder about that, because so many of these need source, but it's "a path not traveled", except internally with Azure.

Re: Defending GCC considered futile

#113
post #87

Earlier quoted context omitted.

> It's not just that his knowledge is outdated, it's also that his philosophical principles will always take precedence over everything else To be fair to RMS he has tried to consider opposing views in the past when he can see and understand the need behind the proposition. In this case the problem is that RMS doesn't know enough C++/Java/C#-style OO programming, and can't understand why you would need refactoring to…

" People just want to make Emacs better, and he is vigorously denying people the features they ask for. " And while I have as of yet no opinion on the concept, a lot of people believe he's hypocritical for supporting non-free OSes in GCC and Gnu Emacs.

I believe the explanation here is that the FSF/GNU is willing to support their tools on non-free OSes as long as those tools work the same as the do on free OSes, and in particular, don't work "better" as compared to the free version because the non-free OS provides additional services somehow.

They don't want their tools to be superior or have better functionality on a non-free OS.

For example, emacs wouldn't take a patch that hooked into speech recognition provided by the OS, unless that was also available on a free OS. And say Microsoft or Apple provided powerful functionality for debuggers via a system api (and this same functionality isn't on a free OS) - gdb would not take a patch that used it.

Re: Defending GCC considered futile

#114
post #49

Earlier quoted context omitted.

I'm always confused by this stance. It presupposes that big companies like Apple and Google will at some point become bad actors in the opensource world. (They both contribute huge amounts of code). Even Microsoft is starting to open up their codebase with the release of huge parts of the .NET ecosystem. Frankly, I want the big boys on my side when it comes to opensource code. I want them to use the code I write. Usu…

Microsoft is opening their codebase because they've been crushed by the enormous efforts of open source. This concession was hard won over the course of decades. Apple and Google do not contribute code freely, nor do they contribute a significant amount of their code. The contributions are limited to areas in which an advantage exists. One only has to look at the machinations present in other development platforms to…

"Apple and Google do not contribute code freely, nor do they contribute a significant amount of their code. The contributions are limited to areas in which an advantage exists."

This is simply false, actually. But of course, you have no evidence of this, only rhetoric, while i actually see literally every code contribution google makes.

Re: Defending GCC considered futile

#115
post #95
post #33

Despite the inflexibility of RMS' arguments (they grate on me as much as anyone) I feel like his position on continuing to develop GCC without modern features like a fully exposed AST is necessary to keep the "moderate" position where it is. In other words, RMS' radical position is necessary for 'moderate' LLVM to exist. Otherwise we'd still be living in the Borland/Metrowerks/Microsoft world of the 90s - proprietary…

That might have been true in the past, but I don't see it being true these days. Lots of companies are only now figuring out the benefits of free software. Just look at Microsoft for one example.

But they only see the technical benefits of Open Source, not the ethical benefits of Free Software. This means that we'll continue to see the spread of the "Open Source almost everything" methodology, which leads to a world where libraries are free, but the applications built from them are not. The developer gets freedom, but the user doesn't.

Re: Defending GCC considered futile

#116
post #22
post #11

So this was a discussion in /r/linux last week about LLVM and GCC et al, so I'm just reposting my statements on why a world where GCC is irrelevant is bad: It takes little effort on Apples or Googles or Microsofts part to take advantage of an LLVM dominated world to close off their own changes to it and try to force developers to use their own proprietary LLVM distributions on their own operating systems. It stops ev…

One of the big advantages of LLVM's license in this regard is that, unlike GCC, you don't risk leaking patents either even if you did open source it. Or did they fix that now?

LLVM's developer policy has required free patent grants for many years, and a number of companies have done so.

(a different number simply don't patent stuff they contribute to LLVM)

Re: Defending GCC considered futile

#117
> If the clang/LLVM people decide they want to eat GCC's lunch, they will do it

They have about 5-10 architectures and about 40-50 architecture variants to catch up to GCC. It's doable, but it will take about the time it took GCC to get there, and the result will be that LLVM becomes the kind of unmaintainable mess that GCC is considered to be now.

One would assume that the author of "The Cathedral and the Bazaar" would know a bit or two about the lifecycle of open source software.

Re: Defending GCC considered futile

#118
post #98

Earlier quoted context omitted.

As the original author of that benchmark, I should point out that that was LLVM SVN (unreleased) against GCC 4.8 & 4.9 - I couldn't get GCC 5.0 SVN to build, so it's possible 5.0 will be faster again than LLVM in certain situations. However, I would also say that generally I've found LLVM is now producing faster code than GCC in most code I've tested both compilers with.

That is very interesting, because LLVM developers themselves admit LLVM generates slower code than GCC (in average). This is plain if you read LLVM Developers' Meeting talks. I think it is completely possible that LLVM developers are using wrong benchmarks. Benchmarks are mostly SPEC and some large Google C++ codebases; in some sense both are quite atypical. But then, entire problem is to understand how typical codeb…

I can hopefully settle this (as a developer of both).

Assuming we stick to x86/x64, nowadays (literally, let's say as of January 2015) GCC and LLVM are within the noise for most people on most code (IE 1-2% of each other).

You can certainly find benchmarks were LLVM does badly. Some are important to some people, some aren't. It is harder to find benchmarks where GCC does badly.

Re: Defending GCC considered futile

#119
post #66

Earlier quoted context omitted.

This is false--people are just as likely to respond to opposing arguments with rejection and ideological hardening. This is replicated in psychological studies. In my personal experience, the less the opposing position acknowledges the values of its opponents, the more likely it is to be rejected. Most people reason by mood affiliation and use argumentation as a social tool, so this should not be a surprise. I think…

Sure - "The loud fanatics" who have no following certainly drop into irrelevance. I think if what you say were completely true we would not have had any movement forward on positions that were considered radical just 10 - 20 years ago - like same-sex marriage. It is only because certain people with large followings - Andrew Sullivan and others - began making a vocal argument for gay marriage, which wasn't even consid…

There's an enormous difference between having an opinion which is not aligned with mainstream and being a radical.

The radical usually wants the world to convert to his/hers own views, which is why they tend to get closed minded and hard to talk with as they get older.

Re: Defending GCC considered futile

#120
post #117

> If the clang/LLVM people decide they want to eat GCC's lunch, they will do it They have about 5-10 architectures and about 40-50 architecture variants to catch up to GCC. It's doable, but it will take about the time it took GCC to get there, and the result will be that LLVM becomes the kind of unmaintainable mess that GCC is considered to be now. One would assume that the author of "The Cathedral and the Bazaar" wo…

As I understand it, the counter arguments are:

Not all of those architectures and variants are important going forward (I'd actually be very interested in lists of them).

GCC was designed for and has been thoroughly maintained to be less maintainable (one of the major points of these recent prominent debates).

C++ is more maintainable than C. (I don't know that I buy this at all, in fact, I'm about to dive into LLVM's source code to see if it could possibly prompt me to revoke my oath to never program in C++ and Perl again unless absolutely necessary :-).

The last two, plus LLVM's Bazaar model of development in part enabled by those technological differences, means it won't be an unmaintainable mess if and when it grows out like that.

I have no idea if this will be true. I'd like to hear from seasoned developers who are also seriously familiar with the LLVM architecture, development model and code base (per the above, I rather hope I won't become one of the latter).

Post reply on HN