News:

NetSurf: the first new browser for OPENSTEP in decades!

Main Menu

Why Objective-C

Started by Rhetorica, Mar 02, 2026, 05:08 PM

Previous topic - Next topic

Rhetorica

A short little blog post about someone falling back in love with Obj-C: https://inessential.com/2026/02/27/why-objective-c.html

Following on an earlier blog post about moving away from it, for Swift: https://inessential.com/2026/02/18/why-not-objective-c.html
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

ZombiePhysicist

Yea, I like the old IB days better myself. Objective-C always clicked with me. Well I lie. I was a pretty heavy straight C programmer back in the day, and object oriented stuff broke my brain for about a few weeks before it clicked. Had to unlearn some bad habits. But since then, yea. Not perfect. But it still seems the best compromise between performance, reusability, orthogonality. Of course, that's subjective and these days im not even toe dipping, so who knows. What little I played with swift, meh, not my cup of tea, but to be fair, I probably would need to give it more time for the switch to flip.

jeffburg

this is a great post and Brent Simmons is a legend in the Mac App development crowd... from all the way back when they were deemed the "Delicious" generation.

Anyway, I have been using AI Coding for a few weeks now. And this is the hypothesis I am leaning into... One of the beauties of using AI is that all the boilerplate that I learned to hate in old Objective C for MathEdit is no longer a concern at all. In fact, AI makes it so easy to code in such a way that is compatible with old toolchains and operating systems that I think AI will be a huge boon to retro software development.

To say another way. On Apple platforms one of the main reasons apps require newer OS's is because Apple keeps adding syntactic sugar to accomplish things in 1 line of code instead of 50 or 100. But when the AI writes 50-100 lines of boiler plate for you. Who cares about Apple's syntactic sugar. Why not just keep targeting old OS's.

Anyway, I am having a lot of fun writing a lot of brand new objective c without ARC, property syntax, dot syntax, collection literals, etc.
Grab my app, MathEdit for OpenStep - https://github.com/jeffreybergier/MathEdit
Follow me on Mastodon for Retro Mac Adventures - https://jeffburg.social/@jeff

jeffburg

I was perusing this link in @ptek 's footer... its a really cool information resource. And it too has an article "Why Objective-C" so I thought I would drop it in here:

QuoteQ: Why did NeXT choose Objective-C rather than C++?

A: NeXT chose Objective-C over C++ for several reasons:

1) We wanted a language which represented the smallest perturbation to the C language, to make it easier for programmers to learn. In our opinion, C++ was a significantly major change to the C language compared to Objective-C, which adds only a few new constructs to C.

2) At the time we made the decision, C++ did not support run-time binding, and this lack greatly reduces the advantages of taking an object-oriented approach. With run-time binding, you need not know the details of the object to which you're sending a message. This supports modularity and reusability of code, and is essential for a true object-oriented programming environment. See Chapter Two of the Brad Cox book (Object-Oriented Programming: An Evolutionary Approach; Addison-Wesley, 1987) for a fuller description of these issues.

3) C++ does not support dynamic loading of objects, once again a key feature necessary in order to take full advantage of the power of Interface Builder.

QA342
http://www.next.com/NeXTanswers/HTMLFiles/1442.htmld/1442.html
Grab my app, MathEdit for OpenStep - https://github.com/jeffreybergier/MathEdit
Follow me on Mastodon for Retro Mac Adventures - https://jeffburg.social/@jeff

ZombiePhysicist

Late binding was a big deal.