I’m curious on the particulars of why Objective-C is a dreaded language, and what proportion of the responses is “I’d rather be doing Swift.” I’ve worked in a lot of languages and Objective-C is one I really wouldn’t mind having to deal with again. Objective-C messages do look weird compared to most other langauges and there’s the big sharp corner to be aware of is that sending messages to nil is allowed. However, when I last worked in it (around the time Swift came out), the Xcode tooling and ecosystem around it were incredible.
Probably because Objective-C is really unlike almost any other language (both being high level and low level and verbose), and for most people, it’s not their home language.
Plus, like Perl, it has a high legacy code factor.
That being said, I know someone who coded it as their first major language, and these days, prefers it over Swift, due to the incredibly unstable nature of Swift’s tooling.
I would think because a lot of developers wanted to (or were required to) write an iOS app, and found themselves having to use Obj-C. In other words, they didn’t get to choose the language, and they resent it. This is less prevalent with Swift taking over, but there’s so much existing Obj-C code and documentation out there that you’re still bound to run into it and need to learn to understand it.
Beyond that, it’s got a weird syntax and some people never get over that.
I think this is right. I have a different relationship with it – I started writing it for real on the Mac, before the iPhone was released, and it was just so sensible there. And, the community of people writing native Mac software in 2003 was, uh, self selecting? so we were all kooks together.
I always liked writing Objective-C over C++ – it has a much clearer distinction between the object and the C worlds, and I appreciated that. Plus, bottom propagation is actually pretty cool, although it takes some getting used to.
They specifically state the methodology measures “people with experience who do not wish to continue using it” which is loosely correlated with “disliked” but clearly not the same thing. In this case it seems pretty likely that everything Objective C does is done better by Swift, so why would you keep using Objective C?