On Wed, Apr 11, 2012 at 11:17 AM, Andrew Pinski <pins...@gmail.com> wrote: > On Wed, Apr 11, 2012 at 10:24 AM, Xinliang David Li <davi...@google.com> > wrote: >> On Wed, Apr 11, 2012 at 6:13 AM, Richard Guenther >> <richard.guent...@gmail.com> wrote: >>> On Wed, Apr 11, 2012 at 2:57 PM, Torvald Riegel <trie...@redhat.com> wrote: >>>> On Wed, 2012-04-11 at 11:24 +0200, Richard Guenther wrote: >>>>> On Tue, Apr 10, 2012 at 7:29 PM, Torvald Riegel <trie...@redhat.com> >>>>> wrote: >>>>> > Think about programmers new to GCC for a second, and about code >>>>> > completion tools. >>>>> >>>>> Honestly I care 1000 times more for existing GCC developers. Before >>>>> new programmers will have an easier time with GCC _existing_ GCC >>>>> developers will have to spend at least two GCC release cycles (that's >>>>> very optimistic) turning the GCC codebase upside-down. Every >>>>> existing GCC developer you lose on that way will slow down that >>>>> process and for every existing GCC developer you probably need more >>>>> that one "new" GCC developer starting. >>>>> >>>>> It's very easy for me to do the math and conclude that losing even _one_ >>>>> experienced existing GCC developer makes this whole transition-to-C++ >>>>> thing a non-starter. >>>> >>>> I agree that less work-force in the transition would be a problem. But >>>> is C++ (perceived to be) so bad that it would make people change their >>>> jobs? I mean, we're not talking about the experienced hobbyists here, >>>> or are we? >>> >>> Until some company puts money behind converting to C++ then yes, >>> it's the hobbyists (or the non-hobbyists in their spare time). >>> >>>> However, the concern you raised is only one part of the problem. The >>>> other is that, put in a simplified way, GCC is competing with LLVM about >>>> new and/or non-fulltime-compiler developers. For me, it looks like LLVM >>>> is more appealing to them, and I believe part of the reason for that is >>>> the codebase. >>>> Now, how many release cycles do we have until LLVM is basically good >>>> enough to be used as a distro compiler (e.g., until code quality and >>>> confidence in bug freedom is sufficiently similar)? If we haven't >>>> ensured that GCC is appealing by this time, why should new programmers >>>> then start considering GCC and not just go by default to LLVM? >>> >>> If you look at the existing developer base then the majority of it is paid. >>> And frankly while empolyers may listen to their employees, switching >>> from GCC to LLVM is not something they'd do based on a C++ vs. C >>> implementation language (but maybe based on availability of consulting >>> services or new employees or viability of using LLVM for weird architectures >>> or simply based on customer demand). >> >> Yes, GCC is still in some comfortable zones such as generated code >> quality, performance, etc, but the advantage and gap is quickly >> reducing (e.g, LLVM is the default compiler in Xcode) -- and other >> advantages in LLVM (will soon) outweigh its disadvantages. It has a >> very modern frontend Clang which is *very* attractive to application >> developers (better diagnostics, better IDE integration, easier to >> develop tools on, lean and mean etc); and believe it or not, their >> compiler developer base is also growing just for the perception it is >> more modern and it is easier to develop on (and words are spreading; >> there were also independent investigations on ease of development on >> some compiler features in gcc and LLVM from new developers and the >> result is in favor of LLVM). > > The main reason why LLVM is the default compiler in XCode is license > rather any technical reason. > And GCC usually has better diagnostic than clang except in those few > areas which it does not (those some might say those areas are the most > important ones). > > I have known people who does not want to deal with GCC because they > are very anti GPL or GNU rather than GCC having a clean/modern > interface. > > It is hard to win those guys over but those are the ones which are > spreading in some cases FUD about GCC. >
Possibly true -- it might be a good idea to collect more data to backup any claims here. David > -- Pinski