Really? How can you design a new language with such a problem? It's not the 80ies anymore.
Really? How can you design a new language with such a problem? It's not the 80ies anymore.
(I'd like to compare it to a static function call but I haven't yet worked out how to write a static function call in such a way that I can run it in the profiler correctly but it doesn't inline down to nothing.)
If you think what is required to call an instance method on the class it is significant. Roughly, read the address of the object, read the pointer to the class, read the vtable of the class for the function pointer then set registers and stack values and make the function call.
In ObjC method calls are actually via objcmsg_send calls to do the dynamic dispatch.
Computers are fast and they do these things quickly but not having to do them is much faster.
It never was the eightyies.
1) there are 5 OSes with more than 100million users. Apple makes two of them 2) there are 4 major web browsers out there, apple makes one of them 3) there are 3 major office suites out there, Apple makes one of them
Apple is one of the biggest software companies in the world. I suspect they are second only to Microsoft in that regard, and yes, I do include Google in that assessment.