Live data from Hacker News

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

android.googlesource.com

231–240 of 259 posts

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

#231

Earlier quoted context omitted.

Richard Stallman, however, is correct. (I'm going to get that on a t-shirt, printed in block letters: "Stallman is correct.")

People make the mistake of assuming Stallman or the FSF cares about "market share".

They did at one point, or else they wouldn't have anointed the ECGS fork of GCC as the official version back in the day.

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

#232

Earlier quoted context omitted.

I feel like you're missing the point of the GNU GPL. The original idea behind the FSFs idea of open source was an ecosystem where every new development resulted in more open and free code. We're talking about people who truly believed in getting away from commercial software entirely. There were people who felt that one day, Linux desktops could replace Windows and even high end tools like Photoshop and Final Cut wou…

The web itself is a federated system, running largely on Free software, built to open specifications. (Email, too.) The idea that we don't have federated systems and that those that do exist are unused isn't particularly based in reality. It's true that the Free Software federated systems that are more strongly based in ideology that bringing use-value to users have generally failed to experience uptake, but that sho…

While it's running largely _on_ free software, it's running largely non-free Javascript on the end user machines which are those that matter.

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

#233
post #121
post #55

Earlier quoted context omitted.

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.

"GCC has been designed specifically NOT to be extended." Several extension mechanisms have been built out in the last few years, including plugins for intermediate passes of compilation, and a library to operate as a JIT.

I wonder if that would ever have happened had LLVM not existed.

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

#234
post #100

Earlier quoted context omitted.

I doubt that rust would have happened under the gpl but i would love to hear what the rust team has to say about that.

The Rust team knew from the outset that repurposing a C++ backend was the only pragmatic way to compete with C++ on performance given their manpower constraints and projected timeframe. Even if all available backends had required the use of GPL, Rust would have still chosen one and moved forward with it. Fortunately, given that Graydon did prefer a permissive license for the compiler, LLVM provided exactly what he wa…

Or they would just translate Rust to C++

Might be hard at first and not very compatible with different compilers, but it is doable

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

#235

Earlier quoted context omitted.

In GPL world any user is a developer too. This might have been true at the begining, but it is very far from true now. That's what RMS failed and still fails to grasp.

I think you've got it backwards; In GPL, every developer is a user. This becomes apparent when you see why the GPL came into existence and what it sets out to accomplish (Safe guarding users' freedoms at the expense of the developers').

And GP's point is that a) statistically speaking, pretty much all of the users of software today are non-developers, and b) these users don't care about the freedoms that the GPL seeks to protect. Even in the small subset of users that are developers, the popularity of permissive licenses indicates that most would rather just use and open up source code without worrying about restrictions imposed by others or imposing restrictions on others out of some sense of morality.

The upshot is that the GPL just creates additional friction for developers in the pursuit of ideals that, statistically speaking, nobody really cares about. This is why it is misguided.

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

#236
post #196

Earlier quoted context omitted.

The dangers that befell things like the Gosling Emacs code, which informed GPL and FSF, haven't gone away. Companies like Apple are actively working to erode any progress that has been made on this front because of their intense levels of investment in proprietary lockin.

Yes they were so actively working to erode progress that they offered to license LLVM under the GPL. But because RMS uses an e-mail client written in the last century he missed the offer. https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00...

There's no offer there. Please don't dishonestly quote.

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

#237

Earlier quoted context omitted.

rms' statement was > The Clang and LLVM developers reach different conclusions from ours because they do not share our values and goals. They object to the measures we have taken to defend freedom because they see the inconvenience of them and do not recognize (or don't care about) the need for them. I would guess they describe their work as "open source" and do not talk about freedom. If you're objecting to that, we…

RMS is wrong on this issue, and wrong in a very insulting way. OSS programmers who disagree with him about license must not talk or (care) about freedom? Really? Jesus that's shitty.

I get that you don't like what rms observed about the Clang and LLVM developers, but you haven't cited anything from them that would show him to be mistaken.

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

#238

Earlier quoted context omitted.

If you have the design, and you have access to FPGAs, I'd say that's got you pretty close already. Edit: We were talking about CPUs, not complete systems. And yes, the performance would be poor, but RMS has already strongly established that in his book performance is a distant runner-up to free.

>By pretty close you mean no where near a usable system then you'd be correct. If you're not a hardware person, as I'm not, I don't think I could go from blank fpga and parts to a working laptop with a keyboard, trackpoint, and lcd screen in any reasonable amount of time, nor with any certainty that it would work and not be error-prone. The exact same argument can be made about the operating system.

Eh, IDK about that. It's pretty well-understood how to make a simple but usable OS kernel. I think most competent programmers would be able to do it (or at least know where to start) given enough free time.

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

#239

Earlier quoted context omitted.

What does DRM support in a compiler tool chain even mean? The ability to develop DRM is available by the nature of the tool, but that is also true of GCC.

Means you won't be able to generate code that runs on other machines without it being signed a trusted third party. You watch.

Maybe I'm misunderstanding, but isn't that what the Apple App Store has been doing since it was introduced? As I recall, Xcode used GCC back then, so how is Clang relevant?

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

#240

Earlier quoted context omitted.

> I feel like you're missing the point of the GNU GPL. The original idea behind the FSFs idea of open source was an ecosystem where every new development resulted in more open and free code. First of all, "FSF's idea of open source"? They'd rather vigorously object to that phrasing. :) But no, that was exactly my point: I'd argue that intentionally choosing to not allow the development of a library version of GCC, ev…

RMS -- and perhaps the FSF more generally -- seems more concerned with preventing non-Free software, with creating Free Software as a means to that end, than increasing the volume of Free Software. To RMS, non-Free software isn't just worse than Free software, its a net harm to society such that it's better to have no software than to have non-Free software. Its even often (apparently, to RMS) better to have no addit…

I wouldn't describe the FSF's position that way (they value Free Software for its own sake, and their goal is that all software should be Free Software), but even if that were their position, I'm arguing that their handling of GCC and refusal to support it as a library directly motivated the creation of LLVM and led to a scenario that better supports the creation of proprietary software.

Providing a GCC library would have significantly lessened the motivation for LLVM: many of the "we need a library" folks would have one, leaving just the "we need a permissively-licensed library" folks, and the "GCC's codebase is awful" folks. (And even some of the latter group might have worked to fix GCC.)

That's not the only thing done wrong with GCC development. The much worse problem is that GCC doesn't really support reviewing and accepting patches; you pretty much have to have commit access to do any significant work on GCC.

Post reply on HN