[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sync.m

From: Gregory Casamento
Subject: Re: sync.m
Date: Mon, 1 Mar 2010 12:04:57 -0500

Just for the record, I have nothing really to add to either David or
Richard's comments since both of them sum up my feelings on the
subject very succinctly.

We should not sacrifice new features or readability for the sake of
holding on to older architectures and compilers.

Also, the use of non-c99 standards does hinder contributions since we
constantly expect people who don't have access to c99 based compilers
to change their code to conform to c89.


On Mon, Mar 1, 2010 at 7:44 AM, David Chisnall <address@hidden> wrote:
> On 1 Mar 2010, at 00:12, Riccardo Mottola wrote:
>> As long of course as core itself doesn't require libobjc-2 feature (which I 
>> hope will be never, but that's tough to say).
> I don't have any plans for core to require anything in libobjc2, per se.
> There is currently one feature in -base that requires the new ABI; 
> -forwardingTargetForSelector: on NSObject.  I wrote a hacky implementation 
> that will try to make this work with the old ABI (using -forwardInvocation:) 
> but it's unreliable.  This is quite a new feature on the Apple side, however. 
>  It doesn't give any more expressiveness, just a bit more speed.  I think the 
> other runtime hooks in NSObject that allow classes and objects to lazily 
> install methods will also only work with libobjc2.
> Nothing in -base or -gui uses these (well, NSContentAccessingProxy does, but 
> it has fall-back code for when they are not present, so it doesn't /require/ 
> them).  If third-party apps do, then that's beyond our control.  Depending on 
> them limits you to very recent versions of OS X, but given that people seem 
> to be dropping support for 10.4 already that's possibly not a problem for Mac 
> developers.
> On 1 Mar 2010, at 06:07, Richard Frith-Macdonald wrote:
>> Nobody is breaking things gratuitously.  The c99isms slip in to code simply 
>> because all modern compilers support them, and don't warn you that older 
>> compilers won't.  Most people use them habitually (locality of declaration 
>> of variables is particularly good for code readability for instance) and 
>> simply won't notice that they have used them.
> Additionally, a load of C99 features (e.g. VLAs, which GNUstep has used for 
> ages) are implemented as extensions by GCC 2.95.  Without access to it, it's 
> difficult to keep track of exactly which subset of C99 will work with any 
> given compiler version.  GCC is terrible at documenting when features 
> appeared; they expect everyone to use the latest version.
> David
> -- Sent from my Cray X1
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnustep-dev

Gregory Casamento - GNUstep Lead/Principal Consultant, OLC, Inc.
yahoo/skype: greg_casamento, aol: gjcasa
(240)274-9630 (Cell)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]