10 ms·
It's only a matter of time before llvm/clang overshadows gcc in every aspect, if it hasn't already. clang probably has 10x more full-time developers than gcc d
by denim_chicken 9y ago
It's only a matter of time before llvm/clang overshadows gcc in every aspect, if it hasn't already. clang probably has 10x more full-time developers than gcc does.
- gribbly 9y agoMaybe, maybe not. I've been seeing this comment for the past 7-6 years, and GCC still delivers better performance on the majority of real-world programs I benchmark (mostly compression). What I find very strange though is that some people seemingly want one of these projects to die. As is evident from many of the replies in this thread, having two great compiler toolchains with which to test your code is a great advantage. Secondly, looking at how GCC development picked up greatly when Clang/LLVM came on stage, it shows that GCC was stagnating with the lack of direct competition, should one of them disappear now, the same thing is likely to happen to the surviving project. On the contrary, I would prefer having even more competition in this field.
- the_mitsuhiko 9y ago> What I find very strange though is that some people seemingly want one of these projects to die. I don't think people want, I think people are worried that this will happen. It's pretty clear that commercial backing largely favours LLVM for obvious reasons. A compiler monoculture nobody really wants back.
- anon1385 9y ago>What I find very strange though is that some people seemingly want one of these projects to die. I'm not sure which side you were addressing here, so I'll cover both Stallman wants the LLVM project to die for political reasons (he described it as "a terrible setback for our community" [1]). His argument is basically that LLVM can be used by non-free software, so it's mere existence is negative for the world because it enables non-free software. Also obviously it takes away resources that could have gone to improving GCC (although in my opinion a lot of them wouldn't for the reason below). It's an extreme argument, but it's the kind of extreme position Stallman has consistently taken so it's not surprising. On the other side, one of the problems people have with GCC is that it's run by people who actively want to make worse software for political reasons. i.e. they'd rather software not support something at all if supporting it might benefit non-free software. That's fair enough, but it shouldn't be a surprise when users of the software prefer to use and support a project that isn't deliberately designed to make doing certain tasks very difficult. Academics and other people with an interest in hacking on compilers were obviously going to prefer a project that wasn't architected to try and prevent the very kinds of things they were doing. The opposition to refactoring tools for emacs based on GCC is the most recent (2015) example of this[2], but the problem is a long standing one. Fundamentally people want to use compilers to do more sophisticated things with their code than just compile it, and that is seen as being incompatible with the political goals of the GCC project. [1] https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html [2] https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00360.html https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00... and the rest of that thread
- gribbly 9y ago>On the other side, one of the problems people have with GCC is that it's run by people who actively want to make worse software for political reasons. Well, for an end user those 'political' reasons are often practical benefits. Having features only available as proprietary add-ons or through proprietary forks, or being locked out of running the code of your choice on hardware you've bought, are things I find very unappealing. Of course there are downsides with copyleft as well, because there is no perfect solution to this problem. Personally I'm favoring permissive licensing for projects where there is little or no incentive for commercial proprietary forks, and copyleft for projects where there is (typically end user targeted).
- a_t48 9y agoAt my last company, clang let us do codegen for serialization (for a game like project). If clang had been copyleft we would have had to use a different solution - though we had intended/hoped on releasing our core libraries as open source, we weren't in a good place to do so.
- belorn 9y agoAs can be seen in the recent discussion on steam developer fees, some game developers are advocating that the initial cost of releasing games should be increased. It would reduce competition. Having a proprietary c++ compiler plug-in be a requirement would server a similar purpose, limiting competition to established developers and those few who are willing to pay the initial price.
- a_t48 9y agoHmm? I'm not sure how this is relevant - this wasn't a compiler plugin and is strictly not necessarily for 95% of developers out there- we just had extraordinary requirements that were best served by parsing our classes. Which developers are asking for higher initial prices? If they are asking for them, it's not to reduce competition - I don't know a single developer I've met who wants less games out there - it's because games are Fucking expensive to make nowadays. Consumers have higher standards of quality these days unless you go into a niche genre. (This is part of why 2d platformers are so common with indie developers - 2d is way cheaper to make than 3d)
- kuschku 9y agoIt’s a similar story as with Firefox and Chrome, and you’re sadly right. The free software community is more than ever before at risk of being replaced by a monopoly culture controlled by large corporations.
- adrianN 9y agoThat's what you get when you prefer programs that are merely open source to free software.
- ymse 9y agoLLVM is free software. The term you are looking for is "copyleft".
- arca_vorago 9y agoExactly. It's like when evaluating things people just completely forget about the implications of the license they use, in both specific and broad contexts. I use and support GPL products as much as possible, even when a BSDesque product may actually have a few advantages. I'm not 100% on that either, but I try hard to slowly adapt and use truly foss software and get used to the ecosystem mentality changes they require. I wish people, particularly devs, thought more about licenses and their long term impact on freedom of the user & dev. I get tired of hearing about how "but copyleft is less free because it restricts me", but to me that's like saying "individual liberty under the rule of law is less free because it prevents me from punching that dude in the face". It's some strange form of anarchism argumentation that fails to respect the rights of others. With all the security issues cropping up lately, I think it should be obvious to big picture thinkers that, while not the solution in itself, any real forward thinking solutions for cyber-security must focus on keeping black boxes out of the picture. BSD style licenses are dangerous to me because they allow hard working peoples code to be abused and used for abuse of others. To be fair to this particular argument though, LLVM does fall under the LSCA license which is gpl compatible, it simple isn't copyleft, so my above rant is more a general comment than on the topic of clang.
- 9y ago