Cocoa: Diving Right In
I've decided to make an effort in the area of Cocoa Development. I picked up a few books about six months ago, and even managed to work through the lil' tutorials.
The problem with tutorials, however, is that without the right mindset, you'll end up with a working something with no concept of how you got there. Without personal involvement in the project, it's harder to maintain attention, and therefore retain the information presented to you. I still recommend reading through the tutorials, however, so that you can make a mental index of where to find things later.
My primary resource is Cocoa Programming for Mac OS X, by Aaron Hillegass. Hillegass has been developing for Cocoa since its creation at NeXT, and now does workshops at the Big Nerd Ranch. If I had the cash, I'd fly out there in a heartbeat. For now, I'm content reading his book.
Objective-C is a very nice, clean, and organized language. In my mind, it's (nearly) everything that C++ should have been. The only area that people will probably complain about is garbage collection... because... well... it's manually done. You maintain your own reference counts, and take care of allocating and deallocating memory. Apparently that's set to change in Objective-C 2.0, which should make its appearance soon.
The concept of message-passing, a thing it borrows from Small Talk (apparently) is brilliant, in my opinion. It's the same thing that makes me such a big fan of Ruby. You ask tell an object, "Hey, do you respond to this?" and it will tell you. This feature makes things like the Observer Pattern that much more intuitive. It's even provided out-of-the-box through the NSNotificationCenter. Badass.
Many things on my plate right now. Client work, school work, fun work. If anyone wants to join the Co-Op as a PHP developer, let me know. =)
Labels: apple, cocoa, objective-c, programming, projects
