Learning Objective-C and Cocoa

I tore through the tutorial on Apple's Developer site last night and wrote built a fancy little currency calculator. My first impressions are that the experience of building the UI and the UI level functionality is by far the best I have worked with, including VS 2005 WinForms designers. So, I was thrilled as I explored this new universe until I got to the code.

Objective-C is a world of its own. The syntax seems very unnatural when compared to other languages that I have worked with (Python, C#, Visual Basic, shell scripting, C, C++). Really. Take for example the syntax of this simple method:

(float)convertCurrency:(float)currency atRate:(float)rate;

As you might guess this is a simple method that computes an exchange rate. What's not so clear (at least to me at this point) is the purpose of the "atRate". The documentation (which I have admittedly not read very well yet) states that it is some sort of keyword. Whatever it is, I am wondering why this syntax is so different that all the other languages I have used in the past (C, C++, C#, Java, PL/SQL, T-SQL, PHP, Python, to name a few).

Anyway, I love the OS X platform and am hoping to write some cool software for it. I think Cocoa/Objective-C is the right choice for desktop software for the Mac, but I'm still learning as well. I ordered this book the other night (should be here tomorrow):

So I am hoping to block off some time over the next several weeks to learn what it is all about.