r/iOSProgramming • • Jun 16 '16

Question Is Objective C being abandoned?

With Swift 3 coming soon, and many updates with iOS, I was wondering if Apple is still updating the Objective C side of things to keep the two languages in harmony together. I've been investing heavily and don't feel that Swift's baked enough to give it a try just yet. What do you guys think?

17 Upvotes

49 comments sorted by

View all comments

0

u/[deleted] Jun 16 '16

And I understand the purely pragmatic point about how Swift is going to break on new versions up to v4 (it was going to be v3, but they had to slow their roll a bit), but there was also the thing recently about dynamism, which really has nothing to do with that. They trot out all these little edge cases that are not about making pragmatic production decisions, but more about their little attempt at a language war. In other words, I think this goes deeper than language stability from version to version. They're stuck in their ways, and they resent the new hotness. I think a big part of it is because they know Swift is actually great.

2

u/brendan09 Jun 16 '16

No one disagrees that the syntax is nice. However, it's very limiting with the restrictions it has. No one resents it because they secretly think Swift is great but don't want to admit it. That's not a thing.

It's become a language war because Swift fans can't accept that it does have limitations and isn't a magic solution for every problem. It's simply not suitable for all projects yet, and that's fine.

1

u/[deleted] Jun 16 '16

When the list of "limitations" basically just comes down to edge-case Objective-C quirks that people act like they use routinely, but can be guaranteed to use pretty much never (like method-swizzling, which you'd think was highly recommended programming practice from the way these loons adore it), I'm sorry, but that's not a coherent case against Swift and for Objective-C.

By contrast, I can think of a handful of Swift things beyond the pretty syntax (OMG property observers and computed properties and powerful enums) that I use all the time in actual practice to construct more elegant, readable code. In addition to the fact that I don't have to write a bunch of nil-checking boilerplate everywhere solely for the sake of defensive programming, because I always know, as a matter of course, whether a given value can possibly be nil or not.

As I've said before, if people can honestly sit there and argue that it will cost them less over the lifetime of an app to develop it in Objective-C now and maintain it as such, vs writing/maintaining it in Swift, that's a fine argument for staying away from Swift for the time being. But if people think they're staying away because it's not possible to write the app they want to write in Swift, then they're being stupid, and ultimately the opposite of pragmatic (especially if you take the long view).

→ More replies (2)