If you can think abstractly and use/like languages like Ruby and Lisp (and their reflection/metaprogramming features), I think you'll be surprised by the amount of stuff you can do at runtime in native code. I started doing Obj-C a week ago and am about to submit my first free, 90% custom-drawn control app to Apple for approval.
Yes, the syntax is initially unappealing, but you get over it after about a day. On top of that, Xcode + Interface Builder is the best GUI dev environment I've used yet.
The runtime method dispatch of Objective-C (protocols!) makes it possible. Basically Objective-C gives you what Qt had to kludge in with qmake/moc. And it's still pretty fast!
When I see how little code I have to write to do something basic in Cocoa/Obj-C, and how well it turns out, any problems I have with syntax go out with the window.