
Understanding the Objective-C Runtime (2010) - beefhash
https://cocoasamurai.blogspot.com/2010/01/understanding-objective-c-runtime.html
======
dep_b
I like the way Objective-C made me "think different" compared to more straight
C-syntax style languages like Java, PHP or even superficially JavaScript
(ironically none of them actually had the C support level Objective-C had!).
The quirky syntax, longDescriptiveMethodNames:andProperties: and the
relatively flexible type system and run-time capabilities, a strange throwback
to the 80's of a different fork from C.

It still makes me feel warm and fuzzy inside seeing it or doodling around with
it.

But building applications outside of the ones that have heavy C(++) interop or
do really weird stuff run-time I really don't miss working with it and moved
almost completely to Swift's "it compiles, it works" capabilities.

------
saagarjha
> A C struct can't forward requests to perform a function onto other targets.

That'd be true if methods were called statically, but with dynamic linking
this is no longer the case.

Also, obligatory reminder: much of the interface covered here is runtime
implementation–don't mess with it! Some of the stuff mentioned is already
outdated.

~~~
fiddlerwoaroof
A lot of the information here is about the (relatively stable) hooks the objc
runtime gives programmers into its internals. If you’re writing ffi code to
interact with the objc runtime, a lot of the functions referenced here are
reasonable to call directly in the interop layer

~~~
saagarjha
The functions the the runtime exposes are relatively stable API. It’s the
implementation details and structure layouts that are subject to change.

------
ngcc_hk
It is very good.

I think the delay to execute and non-top down is the key feature of objective
C, vs those so called objective languages. It is more Smalltalk and more
flexible.

Still, any more updated one just in case the shift to llvm affect it say ...

------
redwyvern
Great read, but can this person please just use a grammar checker? Their
inconsistent, but repetitive incorrect use of apostrophes ruins the whole
post.

