Ruby. I can't recommend it enough.
It's really the ideal general purpose programming language for the MacI would say even more so than Objective-C. There are at least two methods of integrating Ruby and Cocoa: RubyCocoa, which is the old style and is a bit more compatible in some ways, and MacRuby which is newer and much faster. Code written in MacRuby is actually comparable to Objective-C in terms of speed and functionality. Entire apps can be written in either variant, and you can even write MacRuby iOS apps using RubyMotion.
Most importantly though, Ruby is a really fantastic language. It will change the way you think about programmingno joke. It's straightforward and logical in the way it implements object orientation (literally everything is an object in Ruby, from classes themselves down to integers), and once you learn the Ruby way of doing things you'll be amazed at how much better it is. You can use Ruby for all sorts of things, tooit's just as great for writing a simple text filter as it is running the backend for a massive database or a full on GUI application. Best of all, Ruby is fun to write. No kidding. You will enjoy learning the language, and the Ruby way of doing things.
I've learned quite a few languages over the years, including Objective-C and Perl. After learning Ruby, I never want to use either of them again if I can avoid it. Objective-C is fine, but it seems like you spend more time generating formal descriptions of how your program is going to work and fiddling with data types than writing actual code. Anyway, statically typed languages are a pain in the ass, and not really necessary for most purposes.
Perl is alright, but it's just not as elegant as Ruby in my opinion. Also, code written in Perl tends to be unreadable unless you're meticulous about commenting, and even then it can be a mess trying to figure out what you were doing when you come back to code weeks or months later. By comparison, I rarely bother commenting anything in Ruby (most of it is just short scripts to automate personal tasks, so I'm the only one who ever looks at it) and I usually have no trouble deciphering my code.
I tried learning Python, but there were a lot of things about it that turned me off pretty quickly. I still have to use it from time to time, as it's integrated into several software packages that I use, but I get really frustrated with a lot of aspects of the language. The whitespace thing is obviously a big turnoff, but there are other things about it too, such as how inconsistent it seems. It's like it can't decide if it wants to be mainly a procedural or an object oriented language; sometimes you operate on objects by calling a method on them, and sometimes you pass them to a function, and sometimes you can do it either way, but they work slightly differently. It's very confusing and frustrating, especially compared to Ruby where everything works pretty much the way you expect it to.
So, obviously I have a strong opinion on the matter, but having been there and been unsure about taking the plunge into learning Ruby a few years ago after using Perl for nearly a decade, I can honestly now say that I didn't even know it was possible to like any programming language nearly as much as I do Ruby.