This naming is great compared to their traditional naming. I immediately know that I need a pro max premium if I want the one that compiles stuff fast and is heavy and has the fans running full speed all the time and only technically works unplugged, like my current Dell work laptop (guessing).
I find Kotlin way easier to read back than C#, and for the cases where I would have reached for GDScript for its simplicity, I can use Kotlin and have still a lot of simplicity, while also having type-safety.
They're function calls right? I can't square the "message passing" conceit (implying putting message objects on queues, dequeuing etc) with the claim that Obj-C is just C with some extra stuff.
Absolutely not. It only sends a message. The receiver doesn't have to have a corresponding method and can do with that message what it will. Objective-C is a 'true' object-oriented language, like Smalltalk.
In the end though most of those 'sending a message' actions are just fancy virtual method calls (e.g. an indirect jump), everything else would be much too slow:
IMHO the whole 'message' and 'sending' lingo should be abandondend, the job of objc_msgSend is to look up a function pointer by certain rules. There are no 'messages' involved, and nothing is 'sent'.
> There are no 'messages' involved, and nothing is 'sent'.
The conceptual difference is significant as an object can respond to messages that it doesn't have a method for. You are, conceptually, just sending a message and leave it up to the object what it wants to do with it (e.g. forwardInvocation:). That is, after all, what sets "object-oriented" apart from having objects alone. Optimizations that can be made under the hood don't really affect the language itself.
> can respond to messages that it doesn't have a method for.
Clang produces a warning in that case though (something along the lines of "object might not respond to ..."), I don't think that feature is particularly useful in practice (also because it kills any sort of type safety) :)
And the reason it’s a warning and not an error (like in C++) is that it’s actually possible that the object can respond to such a message but the compiler doesn’t know about it.
It was incredibly useful in the olden days. The NeXT/Apple ecosystem leaned on it heavily.
We have new ways to approach problems nowadays, so it may be fair to say that object-oriented programming is a relic of the past. I mean, it is telling that Smalltalk, Objective-C, and Ruby are the only languages to ever go down that road. Still, if you are using an OO language, then it makes sense to lean into OO features. Otherwise, why not use a language better suited to your problem?
> That is, after all, what sets "object-oriented" apart from having objects alone.
I wouldn't say so, most object-oriented languages don't work like Objective-C/Smalltalk. Today, I think most programmers would agree that inheritance is the defining feature of object-orientation.
Okay, that's what sets what was classically known as "object-oriented" apart.
Understandably, language evolves. If OO means something different today, what do most programmers call what used to be known as OO? I honestly have never heard anyone use anything else. But I am always up for refreshing my lexicon. What did most programmers settle on for this in order to free up OO for other uses?
What would it have to say about it? When "object-oriented" was first told, it was said that what defines it is message passing. Simula does not have message passing. It uses function calling. Simula does have objects, but having objects does not imply orientation.
My YT Shorts experience: absent-mindedly watch a few, eventually think "damn, these things suck", tap the "show fewer shorts" link to reduce the chance of absent-mindedly clicking on them again soon. The format, with all its annoying little stylistic cliches, is just too irritating to be addictive. (modern Facebook is even more absurdly un-addictive).
The first time I walked into a casino I wanted to vomit. I hated everything about it. The lights, the smell, the sound, every sensory input rubbed me the wrong way. If hell exists, this is it.
And yet some people have the opposite response. They get hooked.
I suspect it’s the same here. The tactics that are wildly addictive dopamine pumps for their largest cohort actively repel you and me.
Pokemon Sleep and Pokemon TCG apps (ran by two different companies) are very annoying with this. I had to drop TCG because it was much worse than Sleep with all the menus. The only reason I keep up with sleep is because it allows me to gamify my sleep and it honestly has a pretty good UI with its calendar view of my sleep patterns.
I suppose all "gacha" games use this pattern. I find it interesting that gachapon machines are so ingrained in Japanese culture because it is basically culturally approved gambling.
Then again, the West had similar with sports trading cards, which are less popular now. Then again, again, NFTs kinda brought this back for a bit with the randomized drops.
Facebook has figured out that I really like videos of people removing rust from badly corroded metal. If they don't mess up and show me something else, then it takes some serious conscious effort to stop.
Street protests were an effective tool for suffrage, anti-segregation, labor rights, civil rights, anti-colonialism, gay rights to name a few. It is disingenuous to associate this with the Waco-style idiocy.
I'm not American, but I doubt being pro-graffiti is a universal American value. I suspect many Americans aren't that into it, given it makes the place look bad. Many Americans might think instead that you should only deface things you own.
because you find it ugly? Because the city/HOA is asking? Because it's a political message you don't agree with (or don't want your house to get burned for it)?
As a renter, graffiti is great for me, it keeps property values down which keeps rent lower. And given that I don't aesthetically give a shit about it, it's win/neutral for me.
reply