This introduces performance issues larger than the typical ones associated with vtable lookups. Not all domains can afford this today and even fewer in the 80s/90s when these languages were first designed.
> It's sad that OOP was corrupted by the excessively class-centric C++ and Java design patterns.
Both Smalltalk and Objective-C are class based and messages are single-receiver dispatched. So it’s not classes that you’re objecting to. It’s compile-time resolved (eg: vtable) method dispatch vs a more dynamic dispatch with messages.
Ruby, Python, and Javascript all allow for last-resort attribute/message dispatching in various ways: Ruby via `method_missing`, Python by supplying `__getattr__`, and Javascript via Proxy objects.
Don't know about other programming languages but with Objective-C due to IMP caching the performance is close to C++ vtable
Name Iterations Total time (sec) Time per (ns)
C++ virtual method call 1000000000 1.5 1.5
IMP-cached message send 1000000000 1.6 1.6
https://mikeash.com/pyblog/friday-qa-2016-04-15-performance-...Then few months later they launched the mini expecting it to sell even more or something. Somehow they missed that everyone that wanted a small phone had just bought the SE, and it just wasn't long enough for them to be worth upgrading to the much better mini.
Had they waited for a year to pass the mini might have done much better because those who wanted a more powerful phone could find an excuse for an upgrade after a year, less then 6 months, not so much.
It could also be explained as the researches accidentally recreating "Clever Hans."
Sounds like machine learning
Hot take
> University of Göttingen had more academic freedom than generations past. They were promised intellectual autonomy and freedom from close religious supervision. Instead, they were recruited solely to advance knowledge and carry out original research. The education of students was also more egalitarian than it had been previously in Europe, as both rich and poor were admitted and trained.
https://clang.llvm.org/docs/ClangCommandLineReference.html#c...