On Fri, May 23, 2008 at 9:34 AM, Gérard Iglesias <[EMAIL PROTECTED]> wrote:
> Le 23/05/08 à 15:26, "Ilan Volow" <[EMAIL PROTECTED]> a écrit : > >IMHO Objective-C 2.0 looks like Apple's attempt to make Objective-C > >competitive with existing scripting languages, given the addition of > >the dot syntax for accessors and garbage collection changes. > > No scripting languages, maybe Java and C#, I think :) Agreed - I think Apple is interested in making Cocoa in general more competitive, not just Objective-C. In fact, I suspect that their recent increased interest in supporting scripting bridges for Cocoa may be at least partly motivated by a need to compete with .NET's multi-language CLR. Whatever the motivation, as a scripting bridge author I appreciate the results - Leopard makes my job easier in a number of ways. :-) The implementation of foreach appears almost expressly designed to better support scripting languages. The ObjC foreach() syntax is just chrome - the "fast" comes from under the hood. It compiles down to a single method that's called to get a count of items and a C array of ids. For a scripting bridge, an opportunity to replace several trips across the bridge per iteration with a single round trip for the whole array is *huge*. The bridgesupport scheme (originally from RubyCocoa) provides additional meta-information that the ObjC runtime can't provide in a method signature alone, such as flags that indicate if an id* argument is meant to be an array of ids or an output argument, as well as info about things of which the ObjC runtime is completely unaware, like C functions, struct, macro, and enum definitions. sherm-- -- Cocoa programming in Perl: http://camelbones.sourceforge.net _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]