Live data from Hacker News

Android NDK: GCC is now deprecated, everyone should be switching to Clang

android.googlesource.com

51–60 of 259 posts

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#51
post #12
post #8

For someone not following the project, what's the reason for deprecation and switch over to LLVM ?

As someone messing with LLVM a lot.. basically LLVM is where a ton of development effort is going. GCC is a dead end it seems like. LLVM is designed to be extended where as GCC.. well, usually doesn't really seem to have been designed.

It, sadly, goes deeper than that, past architecture to philosophy.

LLVM is designed to be modularized and embedded in other binaries and toolchains, which makes it easier to build extensions and tooling around it.

In addition to having a mountain of legacy code, gcc's project steering is philosophically opposed to allowing non-free (as in GPL) plugins [https://lwn.net/Articles/582242/]. Because of this, developers looking for the most flexible toolchain seem to be backing slowly toward the exist regarding gcc, as the Clang / LLVM steering team has made clear that they don't see similar incompatibilities between their tool and the way developers choose to use it.

There is a project going on to break the gcc down into components [https://gcc.gnu.org/wiki/rearch], so time will tell what comes of these two toolchains.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#52
post #43
post #3

waits for RMS to get mad https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html

And you've now derailed the entire thread with unrelated drama-mongering.

What thread? The technical part of this is largely irrelevant, it's the subsequent discussion about politics what is interesting.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#53

Earlier quoted context omitted.

RMS wants user freedom, not developer freedom That is the point people always miss. RMS believes that end user of software / hardware should be in complete control, it was/is never about developers. BSD/MIT/etc lic may provide for more developer freedom, but often they are used to restrict user freedom as the code is folded/packaged into commercial projects with non-free licenses

That's terribly ironic, since the source code is completely useless to the user, only developers.

That's not really true. Perhaps they can't make changes themselves, but they can ask others to do so, or hire someone.

Mozilla Science, for example, tries to pair up researchers who have ideas together with developers who can code to build open-source projects. Despite the fact that the researchers may not be able to code, the fact that they have the right to share and modify the code is important.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#54
post #13
post #3

waits for RMS to get mad https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html

RMS is nothing if not ideologically consistent. I applaud his goals and perseverance, even if they are not quite the same as mine.

I used to think the same as you, but I came around.

I am annoyed by the FSF dogma because they lay an exclusive claim on the word ethics when applied to software. I consider myself an ethical person even in software. But my definition of ethical is less strict than the RMS definition.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#55
post #12
post #8

For someone not following the project, what's the reason for deprecation and switch over to LLVM ?

As someone messing with LLVM a lot.. basically LLVM is where a ton of development effort is going. GCC is a dead end it seems like. LLVM is designed to be extended where as GCC.. well, usually doesn't really seem to have been designed.

GCC has been designed specifically NOT to be extended.

Richard Stallman reasoned that by exposing an interface to other applications, or allowing other applications to access or modify intermediate code/trees, closed source proprietary applications could be built around GCC.

He was probably right ... but we all ended up with a worse compiler.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#56
post #30
post #9

Earlier quoted context omitted.

> I would guess they describe their work as "open source" and do not talk about freedom. Wow, what an asshole. Maybe they consider legal restrictions on how other people may use their software to be the opposite of freedom? Maybe that is the truth and maybe RMS has a good point to make, but how tone deaf is to call anything that isn't GNU, "unfree"? To suggest that they don't even talk about freedom because their lic…

RMS' use of "free" is very well defined in terms of software (see: https://www.gnu.org/philosophy/free-sw.html ). You are arguing his definition of free, but that isn't up for debate here. RMS may be pedantic, but I'd disagree that makes him an asshole.

IMHO claiming that a multi-faceted word like "freedom" is "trade-marked" to only mean one specific kind of freedom is a sure way to provoke misunderstandings and conflicts. Especially since it is generally seen as a good thing, so claiming other people don't respect it (because they mean something different when they use it) is going to piss them off.

See: every discussion of GPL and "freedom" in a public forum ever. One might think everybody is sick of these arguments already, especially since they are so predictable, but apparently it always stings some people enough.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#57
post #24

When we tried using clang for Android compiling C++ code half a year ago it caused problems, which disappeared when we switched to GCC. > If you have problems with Clang, please file bugs! Filing compiler bugs is really hard with a closed source project.

I thought this aspect of android was all open source? I may be mistaken. In any event, you can file bugs here: https://code.google.com/p/android/issues/list?q=label:Compon...

Sorry, I meant that the project being compiled was closed source.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#58
post #37
post #30

Earlier quoted context omitted.

RMS' use of "free" is very well defined in terms of software (see: https://www.gnu.org/philosophy/free-sw.html ). You are arguing his definition of free, but that isn't up for debate here. RMS may be pedantic, but I'd disagree that makes him an asshole.

RMS saying that other developers have a different concept of software freedom is reasonable. RMS saying that the difference is important, and his idea of software freedom is reasonable and worth debating. Saying that other developers, "don't talk about freedom" because they use a different license is first class assholitry.

No it's just his same argument as ever. The GPL specifically addresses RMS' issues of software freedom. Choosing a different license ignores the topic of software freedom as defined by the FSF. That's all he is saying.

Look the GPL is a hard choice. It is very unfriendly to a developer who is looking to make a living on their code, since it makes selling that code as an artifact. It's not impossible but much more complex than if you just have a EULA.

That said if you remove that difficulty you neuter the GPL and weaken the point of software freedom.

I get why RMS pisses people off. He doesn't keep arguing for using the GPL to be an asshole, but because he thinks software users are more important than software developers. Perhaps most developers feel differently?

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#59
post #37
post #30

Earlier quoted context omitted.

RMS' use of "free" is very well defined in terms of software (see: https://www.gnu.org/philosophy/free-sw.html ). You are arguing his definition of free, but that isn't up for debate here. RMS may be pedantic, but I'd disagree that makes him an asshole.

RMS saying that other developers have a different concept of software freedom is reasonable. RMS saying that the difference is important, and his idea of software freedom is reasonable and worth debating. Saying that other developers, "don't talk about freedom" because they use a different license is first class assholitry.

It's more reasonable that your stance here. You can quibble about how to define freedom, but given that RMS includes freedom from future vendor lock-in, it's entirely reasonable for him to say that other developers don't talk about freedom (as he means it) - because they don't. It's not hypothetical - BSD-derived code has been used in closed-source operating systems (both windows and notably macos) and lots of other software.

By using BSD over GPL you're choosing to make it easy for many people to use your code, even if that use eventually may support closed-source lock-in. Since most developers dabble in open source mostly as a prestige project, that's a reasonable choice - you're not doing it to prevent software monopolies or lock in, are you? So no, you don't care about freedom, exactly as RMS says. Most people are probably doing it for recognition by their peers and because they're interested in solving the problem at hand, and compromising on those two points for a slim chance that you might contribute to a more pervasively free software future sounds like a risky bet.

None of the two minor projects I wrote and support use (L)GPL.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#60
post #11
post #5

The title is a bit misleading. It is deprecated in the context of that project. Meaning they personally won't support it anymore. It's not deprecated in general as a compiler.

Did the title not have "Android NDK:" in it at some point?

Pedantic much, but I agree. GCC support is deprecated, not GCC itself.
Post reply on HN