This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Proposal: remove the Obj-C++ front end
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: IainS <developer at sandoe-acoustics dot co dot uk>
- Cc: Mike Stump <mikestump at comcast dot net>, Stan Shebs <stanshebs at earthlink dot net>, GCC Mailing List <gcc at gcc dot gnu dot org>, David Edelsohn <dje at gcc dot gnu dot org>, Ian Lance Taylor <ian at airs dot com>, Andrew Pinski <pinskia at gmail dot com>
- Date: Thu, 20 May 2010 22:20:52 +0200
- Subject: Re: Proposal: remove the Obj-C++ front end
- References: <AANLkTimohn5v0bzS79n-jNr4TjYlReFVE2AULjxwKRMq@mail.gmail.com> <4A30A754-85D8-49F8-88A0-C09AEC1B361A@sandoe-acoustics.co.uk>
On Thu, May 20, 2010 at 9:54 PM, IainS <developer@sandoe-acoustics.co.uk> wrote:
> No Asbestos required - but .. I do have some observations..
>
> ?I write pretty much all my serious (day-job) code in ObjC and..
> ... ?I have stated that it's an intention to make *that*, at least work at
> V2 on FSF.
>
> Having said that:
>
> a) ?I have not anything like as much attachment to ObjC++ ...
> b) We are all limited in the amount of time we can allocate to FSF ..
Right. I am not suggesting ObjC should go away at all. It clearly has
users and it's pretty much isolated. It mixes with the C front end, of
course, but that is not a problem. With ObjC++, you have a front end
trying to unify the C, ObjC, and C++ front ends with itself. That's
not even comparable.
Besides, the ObjC language makes sense, whereas Obj-C++ combines the
worst of ObjC with the worst of C++ (or so I'm told by people who
should know what they're talking about ;-)
> a) I'm curious about how we know how many actual users we have.
>
> b) The largest group of potential users is on OSX - and, of course, without
> NeXT working on 64bit that's a serious limitation.
Well, without the NeXT runtime, I think we can safely state that there
are *no* users of GNU Obj-C++ on OSX. I have no idea how we can
establish how many users there are, but given the state the front end
is in, it can't be many.
> Also, I think it fair to say that "ordinary" users - like me have been
> reluctant to devote significant time to ObjC/C++
> ... when the likelihood of getting code accepted was c.f sqrt(0.0).
I do not think this is true for ObjC. I've suggested before that you
should just proclaim yourself ObjC front end maintainer with support
of the existing active ObjC maintainers, you would be welcomed with
open arms (don't expect cheer leaders, though ;-)
>> The burden on GCC on the other hand, from a maintainer's point of
>> view, is very significant.
>
> high maintenance ?!= unmaintained ;-)
I don't mean the number of patches per unit of time. It is the way
that everything is stringed together, and how easily it all breaks.
And, of course, how it hinders progress on other fronts that are
perhaps more important. As you've said: We are all limited in the
amount of time. It would be helpful if the GCC community can spend its
limited time at something else than this front end. If there is no-one
willing and able to step up and put in the TLC that this front end
needs, then the front end should go.
Personally, I think it would make matters only better for those who
are interested in adding ObjC 2.0. It is easier to focus on one
language front end than four at once...
>> The Obj-C++ front end ties
>> together the c, objc, and g++ front ends in very uncomfortable ways.
>
> doesn't it just ?:-( ... it's a nightmare to learn (1st hand experience).
>
> It would be worth pausing to see if there's a way to disentangle it.
> Which would, perhaps, go some way towards ameliorating the irritation.
From what I've seen so far, it's virtually impossible without actually
unifying objc++ and c++. Perhaps that would have been the best thing
to do from the start anyway (not sure if that was tried and rejected,
or if this separate-and-tie approach is by design...).
>> There are also technical reasons for removing this front end. For one,
>> objc exceptions in objc++ don't work for the GNU runtime.
>
> Well .. I have an opinion that don't != can't ?... ?if you know this to be
> untrue I'd be interested.
It's, again, a matter of resources.
> ... ObjC exceptions need sorting out..
> I would hope that ObjC++ exceptions would 99% fall out of that.
>
>> The implementation of the language also appears to be out of sync with
>> Apple (apart from ObjC 2.0).
>
> I'm not aware of any excess lack of sync c.f. ObjC
I made a diff of the Obj-C++ front ends in Apple GCC 4.2 and FSF GCC
4.2 at one point and IIRC there was already a surprising amount of
diverging going on. But it's a while ago and I may be wrong on this
one.
Ciao!
Steven