A lot of comments here saying how Obj-C is "ugly", and so forth. I wonder how many commenters are actually using it to any great extent, on a day-to-day basis, rather than have just looked at it out of curiosity for five minutes?
I write in Obj-C every work day and I do think its ugly. The function syntax with crazy long names gets tiresome. If there were no tab complete, Obj-C would be one of the most time consuming languages to write in. I also wish that I could have things like pure virtual functions instead of or in addition to protocols. I also wish that I could make properties protected instead of either public or private. It's not the ugliest language, but it's not my favorite.