From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6666 invoked by alias); 24 Jan 2014 01:02:36 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 6656 invoked by uid 89); 24 Jan 2014 01:02:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_INFOUSME,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qa0-f45.google.com Received: from mail-qa0-f45.google.com (HELO mail-qa0-f45.google.com) (209.85.216.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 24 Jan 2014 01:02:34 +0000 Received: by mail-qa0-f45.google.com with SMTP id ii20so3090253qab.4 for ; Thu, 23 Jan 2014 17:02:32 -0800 (PST) X-Received: by 10.224.76.70 with SMTP id b6mr16400488qak.19.1390525352600; Thu, 23 Jan 2014 17:02:32 -0800 (PST) Received: from glados.home.home (pool-173-79-31-15.washdc.fios.verizon.net. [173.79.31.15]) by mx.google.com with ESMTPSA id z16sm23885946qab.3.2014.01.23.17.02.31 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 23 Jan 2014 17:02:32 -0800 (PST) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) Subject: Re: Don't shoot the messenger From: Gregory Casamento In-Reply-To: <1931157.XNBpQ8mPhG@polaris> Date: Fri, 24 Jan 2014 01:28:00 -0000 Cc: GCC Mailing List , Jonathan Wakely , esr@thyrsus.com, Steven Bosscher Content-Transfer-Encoding: quoted-printable Message-Id: <7E84FF6E-CBB4-4217-B14F-8867BCCDBE56@gmail.com> References: <20140123212747.6FE32380525@snark.thyrsus.com> <9CE797A6-7F95-435A-8F5D-EF93B9DA165A@gmail.com> <1931157.XNBpQ8mPhG@polaris> To: Eric Botcazou X-IsSubscribed: yes X-SW-Source: 2014-01/txt/msg00228.txt.bz2 Eric, On Jan 23, 2014, at 7:00 PM, Eric Botcazou wrote: >> One other point I must make is in regards to clang's Objective-C support= vs. >> that of GCC. GCC regards Objective-C as a second class language and has >> done so for some time. Objective-C, according to recent statistics has >> surpassed C++ in the number of developers using it (see this link >> http://www.i-programmer.info/news/98-languages/4462-objective-c-overtake= s-c >> -in-tiobe-index.html). >=20 > I think that neither GCC nor any other compilers can reasonably compete w= ith=20 > clang when it comes to Objective-C given that clang is effectively the=20 > reference implementation of the language through the connection with Appl= e. Granted, however, at the very least GCC should consciously ramp up it=92s s= upport for Objective-C. Currently the Objective-C implementation in GCC is= woefully out of date as it doesn=92t include basic support for ARC. >> Clang has, in my experience, at least the above two advantages over GCC.= My >> project is a free software project, but, yet, we are already starting to >> shift towards using Clang as our primary compiler for the above two reas= ons >> among others. It will not surprise me if I see more projects go the same >> way. >=20 > Your case (implementation of Cocoa + Objective-C parser) is very specific= =20 > though so generalizing from it alone seems a bit fast. I=92m not so sure about that. My point was that GCC in general is not buil= t in a modular fashion. This is a shortcoming, no matter how specific, tha= t clang doesn=92t have. The ability to use the compiler=92s parser in appl= ications outside of the compiler is an extremely powerful advantage that cl= ang offers and is used in multiple places in clang=92s own suite of softwar= e. The static analyzer uses the parser. On Mac OS X Xcode uses the parser= to provide contextual feedback to the user while editing the source code a= nd also uses it to colorize the source for easy reading. So, yes, while I=92m giving a very specific example what I=92m referring to= is an advantage. What I can say is that something so trivial which I lear= ned in my first course in Computer Science course at the University of Mary= land where I went to school nearly 20 years ago should be reflected in GCC,= yet it is not. I found this surprising at the time I attempted to create= the parser and I still do today. >> Is it enough to "win" based on philosophical grounds, but lose on techni= cal >> ones? And if GCC loses on technical grounds aren't you, in effect, losi= ng >> the war since fewer people will end up using your stuff since it doesn't= do >> what they need or want? I don't believe that making technical decisions= on >> the basis of political ends really wins anything. A message earlier in >> this same thread bears out that many technical decisions on GCC were, in >> fact, made for political reasons and that GCC should carefully consider >> which ones should be rescinded. >=20 > Why do you think that there is a war? It's at most a competition between= =20 > projects with a different focus and different strengths. I wasn=92t referring to a war between clang and gcc. I was referring to th= e war that the FSF openly has with proprietary software. GCC=92s policies = were specifically designed to prevent proprietary software from leveraging = it, as stated by RMS and other people on this list. I believe this was don= e because of the position of GCC at the time as the only free software comp= iler of any reasonable usability. That situation has now changed and GCC = can no longer rely on it=92s position and be assured that it will be the mo= st commonly used compiler on systems which promote Free Software. I don=92= t believe these policies made sense then and I don=92t believe they make se= nse now, especially given clang=92s growing prominence. I believe it is b= etter to compete on functionality and make certain people want to use GCC b= ecause it offers more features and better features than clang, not because = of any political agenda. > --=20 > Eric Botcazou Gregory Casamento