Got my start in Objective-C back in the 2000s tinkering with OS X apps and used it at work for writing iOS apps from 2015-2017, but I embraced Swift pretty quickly (IIRC I started to take it seriously around 2.x).
It required significant shift in mental models, but having so much more built into the language (needing fewer dependencies is never ever a bad thing, especially when using CocoaPods), less silent breakage, optionals, no awkwardness from having to maintain C compatibility, no need to maintain header files, etc was a big deal for me.
These days if I’m using it it’s in personal projects to swizzle or access private APIs or in super simple projects that don’t really benefit from Swift’s frills. Aside from that, some projects still have Obj-C dependencies which I’ll need to delve into the source of to debug issues occasionally.
My first contact with Objective-C and Cocoa was somewhere around 2001 or 2002 when I decided to tinker with the contents of the developer disc included in the OS X retail box, and while I toyed with Interface Builder (which resembled REALBasic, which I’d previously been using) quite a lot I wouldn’t write anything functional for another couple of years.
Newbie material for Obj-C and Cocoa was truly slim pickings at that point, particularly if your local library was too small to carry those books and you couldn’t afford to buy them yourself. All I had to go off of was the odd blog post I’d run across and later on, patient AIM friends (who I am still grateful to) who’d explain things if I asked, so it took a while to become able to write anything significant.
Got my start in Objective-C back in the 2000s tinkering with OS X apps and used it at work for writing iOS apps from 2015-2017, but I embraced Swift pretty quickly (IIRC I started to take it seriously around 2.x).
It required significant shift in mental models, but having so much more built into the language (needing fewer dependencies is never ever a bad thing, especially when using CocoaPods), less silent breakage, optionals, no awkwardness from having to maintain C compatibility, no need to maintain header files, etc was a big deal for me.
These days if I’m using it it’s in personal projects to swizzle or access private APIs or in super simple projects that don’t really benefit from Swift’s frills. Aside from that, some projects still have Obj-C dependencies which I’ll need to delve into the source of to debug issues occasionally.