Live data from Hacker News

The Subjective Charms of Objective-C

wired.com

21–30 of 56 posts

Re: The Subjective Charms of Objective-C

#21
A beautifully written piece.

And to some degree I echo the sentiment as well. While I was never in search of the divine programming language, I too felt that as Objective-C was being sunset and Swift was in ascendency, perhaps it was my time to also step out of my career — sunset myself so to speak.

Swift was something of a hard sell for me. It seem(s/ed) to borrow everything from every popular language allowing two different code bases to look as though they might have been written in two different languages (depending on the preferences/style of the two coders).

To be sure, a lot of the young engineers seem to have been drawn into the Apple ecosystem not because, like me, they grew up worshiping the user-interface brilliance of the Mac but because they are fans of the Swift language.

And like the author of the piece, I say, "Knock yourselves out, kids. Sayonara."

Re: The Subjective Charms of Objective-C

#22

Objective C was a far more elegant and powerful solution to the problem of extending C to be "object oriented" than C++. The square brackets made very clear when you were engaging with SmallTalk style message passing semantics. But the language was still a full superset of C, allowing calling any legacy code you wanted. Or using C syntax for performance critical parts. And for as much criticism as the language receiv…

The hate Objective-C has received for its syntax is unreal. It’s a minimalistic, easy-to-navigate language, but people assumed Swift would be easier just because it looks more like Java and C#.

Meanwhile, Swift is such a mess that even its own creator said the following in an interview:

“Swift, the original idea was factor complexity (…) massively failed, in my opinion (…) Swift has turned into a gigantic, super complicated bag of special cases, special syntax, special stuff”

https://x.com/krzyzanowskim/status/1812238141496934738

Re: The Subjective Charms of Objective-C

#23
post #11

It's a shame that Objective-C never really caught on outside of the NeXT/Apple ecosystem. User interfaces benefit greatly from dynamism, and all the UI toolkits I've used for C and C++ try to emulate message passing in one way or another: from WinAPI's SendMessage, to GTK and Qt's signals and slots. I'm surprised the wider FOSS community didn't adopt the language. I've been building a GTK4 app recently, and the macro…

I know that there is (was?) a project to bring an Objective-C equivalent to the web called Cappuccino[0] as well. It does look interesting though it lacks most modern DX, which means its adoption is going to be limited I imagine [0]: https://www.cappuccino.dev/learn/

Very cool that you can use the XCode interface builder to build the UI.

I wonder why this type of style hasn't caught on with React and friends? It would be really nice to be able to have an AppKit-quality UI programmable in React or Svelte.

I know I know mobile blah blah. But lots of web apps are complicated enough to only be useful on a large screen, like Figma.

Re: The Subjective Charms of Objective-C

#24

Earlier quoted context omitted.

Yeah. The language is called Objective-J while Cappuccino is the framework. Objective-C : Cocoa = Objective-J : Cappuccino. I remember that the company behind it was called "280 South". They seem to have opensourced it before they shut down.

Obviously I misremembered. I just visited the site linked above. The company was "280 North"

Because you drive north on 280 from Cupertino to San Francisco…

Re: The Subjective Charms of Objective-C

#25
post #22

Objective C was a far more elegant and powerful solution to the problem of extending C to be "object oriented" than C++. The square brackets made very clear when you were engaging with SmallTalk style message passing semantics. But the language was still a full superset of C, allowing calling any legacy code you wanted. Or using C syntax for performance critical parts. And for as much criticism as the language receiv…

The hate Objective-C has received for its syntax is unreal. It’s a minimalistic, easy-to-navigate language, but people assumed Swift would be easier just because it looks more like Java and C#. Meanwhile, Swift is such a mess that even its own creator said the following in an interview: “Swift, the original idea was factor complexity (…) massively failed, in my opinion (…) Swift has turned into a gigantic, super comp…

Swift should have been an alternative syntax targetting the same Obj-C runtime IMO.

Re: The Subjective Charms of Objective-C

#26
post #6

Earlier quoted context omitted.

I agree. I had a couple of NeXT slabs from 1991 to 2000 or so. Objective C had some benefits. The NeXT Obj-C libraries were very usable and well thought out. I will grant that it had problems, the biggest of which was that it wasn't Windows 3.11 and it wasn't backed by Microsoft. The amount of pro-Microsoft press and propaganda was astonishing during that period.

One single NeXT workstation could buy a bunch of Windows 3.11 PCs, I know, my gradution thesis was porting software from Objective-C to C++, originall written on a Cube.

Immaterial with respect to judgements of Objective-C as a programming language. The cost of one single NeXT workstation could have bought a bunch of eggs, flour, sugar and milk to make pies and cakes, too.

Re: The Subjective Charms of Objective-C

#27
post #11

It's a shame that Objective-C never really caught on outside of the NeXT/Apple ecosystem. User interfaces benefit greatly from dynamism, and all the UI toolkits I've used for C and C++ try to emulate message passing in one way or another: from WinAPI's SendMessage, to GTK and Qt's signals and slots. I'm surprised the wider FOSS community didn't adopt the language. I've been building a GTK4 app recently, and the macro…

It’s a shame that C is the only native mainstream Abi stable language to catch on broadly. Objc or swift would be nice for library developers on win/lin even if it’s only for writing the entry points to their library.

Re: The Subjective Charms of Objective-C

#28
post #11

It's a shame that Objective-C never really caught on outside of the NeXT/Apple ecosystem. User interfaces benefit greatly from dynamism, and all the UI toolkits I've used for C and C++ try to emulate message passing in one way or another: from WinAPI's SendMessage, to GTK and Qt's signals and slots. I'm surprised the wider FOSS community didn't adopt the language. I've been building a GTK4 app recently, and the macro…

Good 'ol GNUStep. I think the only thing I ran that relied on it was WindowMaker, which was an excellent, minimalistic window manager back in the day.

Re: The Subjective Charms of Objective-C

#29

Objective C was a far more elegant and powerful solution to the problem of extending C to be "object oriented" than C++. The square brackets made very clear when you were engaging with SmallTalk style message passing semantics. But the language was still a full superset of C, allowing calling any legacy code you wanted. Or using C syntax for performance critical parts. And for as much criticism as the language receiv…

The ability to mix languages is really underrated I think. Today you can toss a ball of Objective-C/C, C++, and Swift at clang and it’ll figure it out and spit out a single binary. That’s kinda crazy, and it lets you use whichever makes the most sense for each component of your app and gives you the ability to leverage a staggering number of libraries between the four.

It’s a stark contrast to e.g. Android world where making use of languages/libraries outside of the JVM bubble is technically possible but not necessarily a good idea in many if not most situations due to the caveats involved.

Re: The Subjective Charms of Objective-C

#30

Objective C was a far more elegant and powerful solution to the problem of extending C to be "object oriented" than C++. The square brackets made very clear when you were engaging with SmallTalk style message passing semantics. But the language was still a full superset of C, allowing calling any legacy code you wanted. Or using C syntax for performance critical parts. And for as much criticism as the language receiv…

> But still allowed for rapid iteration on dynamic UIs for applications.

This is the aspect that IMO was most harmed by the transition to Swift - and then later to a much deeper extent by SwiftUI, which makes quickly refactoring UI code very painful.

Post reply on HN