Are there any books on Objective-C 2.0 ? We have a few machines in the office with Leopard (Actually using it right now). I could play around with it during off hours until its released.
Leopard is still under NDA, so no, there aren't. Apple does have guides on what is new in Objective-C 2.0 and how to use it with their Leopard docs for those with seed access. It mostly boils down to garbage collection and properties though as talked about at WWDC's keynote.
The last development I did besides PHP was with Kylix. Borland has (imo) the best IDE out there. Put a button on a form, double click and it creates all the code for the event. I love that idea and its strange more IDEs don't do it. Kylix would have been really really sweet on a Mac 🙁
Not a fan of .NET, like I said before I avoid MS these days.
Interface Builder and Cocoa go a bit beyond this. Forms/Windows are pure data. Controllers that you setup for windows/components are loaded from the file (you don't create the instance programmatically, but you do still need to write the behavior obviously). In Interface builder, you put the button on the form, and you can link its action to any controller object in IB, and any method designated as an IBAction on that object (which you can autogenerate the stub for an IBAction from Interface Builder). So when you make your document window, you just wire up all the controllers it needs in the IB file, and it will handle all the loading, setting variables to link objects together (if they reference each other), and will call the right methods without any autogenerated or shim code needed.
Because of this, you can do some more advanced things, like using Apple-provided controller objects to pull from a CoreData context. Let's say I was using CoreData for a cookbook, and I wanted to display all the recipies in a table view. I can use Apple's array controller in IB, tell it to pull all 'Recipie' objects from the CoreData context, and bam, that controller will have an auto-updating array of all the Recipies in my CoreData DB. I then create the table view with a single column, telling it to bind to the array controller, getting the string value from the array of objects' "recipieName" field. Now, not only do I now have a table view with all my Recipie names listed, but I can directly edit the names using the table view for free, and it will update my CoreData DB with the new values as they are edited.
No code written, yet I have a full code stack from my data file to my UI. No autogenerated code, either. IMO, having to autogenerate code is the one thing that drives me nuts about .NET's WYSIWIG form designers. You can get the code into bad states that the form designers will choke on.