Ask HN: What number of of you Apple builders nonetheless use Goal C?

![]() |
|
absolutely the same here.
the problem with Swift is that it is a systems programming language and not an app-development language. far to cumbersome, complicated and unproductive for writing apps. |
![]() |
|
The parts of Ardour (ardour.org) that have to interface with several Core* libraries are all written in Objective C(++) and will continue to be so until they can’t be. That’s not much code, but it’s important code. Pretty much all UI stuff – the internal/lower-level stuff uses Apple libs that have C APIs.
And note: unbelievably, its 2024 and Apple is able to still fuck up drawing in very recent versions of macOS. How an organization with the history and resources that they have can get such basic stuff wrong is really beyond me. https://developer.apple.com/forums/thread/738042 (this seems to be mounted as of 14.3) |
![]() |
|
I had a weird relationship with ObjC getting into iOS in 2016, just on the cusp of the great renaming of Swift 2 to Swift 3, where my first employer was a little too cheap to get me an updated Big Nerd Ranch guidebook.
The common wisdom was; nobody will take you seriously as an engineer unless you learn Objective-C. I was also trying to understand the book “High Performance iOS Apps”, all in ObjC, so had to take a lengthy segue through an ObjC tutorial book. While this was useful for expanding my horizons somewhat, I have never in my career had to use ObjC in production. I have, however, used it a little in the last 6 months, though ironically this was when writing a blog post about Apple’s Animation APIs through history – to ensure I was authentic, I wrote the Quartz, OpenGL, and CoreAnimation sections in Objective-C. To this date, this is the only ObjC I have written which has done anything of value. The blog post is here – https://jacobbartlett.substack.com/p/through-the-ages-apple-… |
![]() |
|
I’ve been writing Objective-C recently to use macOS frameworks from Rust. I can just write C wrapper functions and compile as a static library. Otherwise I use Swift.
|
![]() |
|
As objective-c is a true superset of C, it is a much more effective and ergonomic system language — interfacing with mach, Posix and Carbon APIs — than Swift in my experienced opinion.
|
![]() |
|
I haven’t seen a project started in it in a long time but there’s still quite a bit of code floating around. I get the impression it’s still used pretty heavily at Apple too.
|
![]() |
|
Still have some in work projects, as they’re old, but gradually moving on to Swift whatever we can.
Though in the FAANG world – Objective C reigns supreme |
![]() |
|
I just modified some Obj-C code 2 days ago. Part of a RubyMotion app I migrated to Swift. The core was written in Obj-C for performance reasons.
|
![]() |
|
Yes very much so. I maintain an established Mac app and it’s almost entirely Objective-C (and the bits that aren’t are in C and JavaScript)
|