WWDC 2006: Wednesday Wrap-Up

Today I went to a couple of Core Data sessions, a more advanced Core Animation session, a Cocoa controls presentation, and a introduction to the new Interface Builder. I'm more impressed by Core Animation each time I see a session, and new IB looks and works much better than the earlier versions. It's exciting stuff.

It looks like at least some bits of Objective-C 2.0 are public knowledge. The big news is garbage collection, "syntax enhancements," runtime improvements, and 64-bit support. The syntax enhancements are sure to please almost everyone (is this stuff public knowledge via open source?). Big things in store. Any developers who aren't currently using Objective-C will have to give it a good hard look again.

Some of the Xcode 3.0 details are up, as well. Project snapshots are something I've needed for a while and the research assistant seems very useful. The message bubbles for errors play out very well, and the code focusing a step in the right direction. I think I'll continue using TextMate for the bulk of my editing in Cocoa projects, though.

I've been wanting to mention that Apple really got their act together organizationally for this WWDC. The web site is much better organized and virtually all of the resources are there when you need them. They've also gone much further out of their way to address session collisions than any time in the past.
Design Element
WWDC 2006: Wednesday Wrap-Up
Posted Aug 9, 2006 — 10 comments below




 

Chris — Aug 09, 06 1554

The source code to Apple's branch of gcc is open and available, includes everything except the mods to libobjc. The denizens of Apple's objc language list have figured out some of the features (not perfectly). The syntax should be decodable from the compiler as well, but no one's posted any of it. I agree that most of the syntax is highly lovable.

Allan will probably eventually incorporate the feasible Xcode 3 enhancements into TextMate via extensible architecture.

Rob — Aug 10, 06 1557

I wish I could know what all this stuff is. But I'm neither old enough (next year) nor have the money to go to WWDC. When I read about Xcode 3 and Obj-C 2.0 on the website (because it wasn't mentioned in keynote), I thought those two things alone would be worth the price (whatever it is) for Leopard. I seriously want a new IB and bubbles in Xcode!

JB — Aug 10, 06 1558

I'm attending WWDC too, coming all the way from Denmark. I'd like to say hi to you - and put a face on your insightful words. I'm also considering your Cocoa Mentoring Program. Please send me an email.

Mithras — Aug 10, 06 1560

Here's some of the most prominent Objective C changes, cherrypicked from the ObjC mailing list:

-----
- Instance variables can have access control:


@interface MyClass : NSObject
{
@public
int public_var;
@private
int private_var;
@protected
int protected_var;
}


- We have the syntax for properties, in both classes and protocols:


@interface MyClass : NSObject
@property int foo;
@property(getter=_getBaz,setter=_setBaz) float baz;
@end

@implementation MyClass
- (int)_getBaz { return baz; }
- (void)_setBaz: (float)newBaz { baz = abs(newBaz); }
@end

@protocol MyProtocol
@property(copies,readonly) NSString *bar;
@end

int main(void) {
MyClass *m = [MyClass new];
m.baz = -5.0;
printf("%f\n", m.baz); /* -> 5.0000 */
}



- Protocols can list required or optional methods:


@protocol MyProtocol
@optional
- (int)foo;
@required
- (void)bar: (int)arg;
@end


- The syntax for foreach is pretty obvious, but here it is anyhow:


NSArray *arr = randomListOfStrings();
for (NSString *s in arr) {
printf("%@\n", s);
}

It looks like there may be a facility for enumeration of user- defined types...

- To accomodate GC, fields can be weak:


@interface MyClass
{
__weak id some_var;
}
@end

Abhi Beckert — Aug 10, 06 1561

Haven't we always had the @private/@public/@protected syntax?

The foreach stuff looks very nice, but I'm not really a fan of the getter/setter syntax... why manually specify the selector if KVC can already figure it out?

JB — Aug 10, 06 1562

Abhi, the getter/setter methods are generated for you by the compiler (and the right way!), and you can still call them even though you haven't explicitly typed the methods. It's quite nice. The foreach stuff is also very efficient in terms of performance.

Aaron Tait — Aug 10, 06 1563

I think you make a great point. I wish they would tell us specifically what is under the NDA and what isn't. There is some really cool stuff in leopard and I would really like to know what I can and can not talk about with other developer outside WWDC.

Rob Winchester — Aug 10, 06 1564

Scott - I love the look of TextMate, but I'm guessing they can't match the refactoring part of XC3 that was just announced... or does TM have it and I'm just not paying attention?

Scott Stevenson — Aug 10, 06 1565 Scotty the Leopard

 love the look of TextMate, but I'm guessing they can't match the refactoring part of XC3 that was just announced

The look isn't really what I think of as the important part of TextMate. The apperance is nice finishing touch, but there's a lot of stuff in TextMate that Xcode simply can't touch.

There's no question that Xcode has certain things that TextMate does not, but you don't have to use or the other exclusively. I think I'll do most of my editing in TextMate and use Xcode for certain things.

Tim Buchheim — Aug 10, 06 1567

I hope this year they get the videos posted for ADC Select/Premier members in a reasonable amount of time. And I hoe they actually cover most (if not all) of the sessions .. the WWDC05 videos currently on the ADC site don't cover most of the sessions I was interested in last year.

Not all of us can take the time off work to go to WWDC, and I wish Apple would acknowledge that.

And when are they going to get a message board or mailing list for discussing stuff under NDA? Sure, the people who go to WWDC can talk about stuff there, but what about the weeks afterwards (not to mention those who can't go for whatever reason)




 

Comments Temporarily Disabled

I had to temporarily disable comments due to spam. I'll re-enable them soon.





Copyright © Scott Stevenson 2004-2015