The best syntax I have ever used is plain old Smalltalk. Objective C borrows Smalltalk's beautiful message sending syntax and abuses its block syntax to separate message sends from C. At some point you have to ask yourself what the language is for. I like languages that let me focus on stating the solution to my problem and don't distract me with implementation detail. I like small numbers of constructs that can be combined in a large number of flexible ways. Swift takes the opposite approach - it has a large number of constructs that can be combined in only a few ways and whenever a higher level facility is desired they turn to enhancing the compiler rather than the runtime (makes sense - its "designer" is a compiler guy - that's his hammer). Swift drives me nuts because my code ends up being festooned with vast numbers of annotations that are all about implementation detail rather than my solution space. Also, they could have kept the message send syntax closer to Smalltalk's rather than create the really ugly hack they have now. I'm doing a lot of iOS development for companies lately that ship iPhone apps that are used to configure smart appliances. I'm not touching Swift because there isn't going to be significant budget to update to Swift 4, 5, 6, etc and Swift has been a treadmill. Sticking with Objective C. Plus doing a lot of interfacing with low level C++ libs.