4 ms·
> legacy choices when we quite literally were just not smart enough to be making permanent decisions like this Unnecessary hubris. I assure you the original AB
by davemp 2mo ago
> legacy choices when we quite literally were just not smart enough to be making permanent decisions like this
Unnecessary hubris. I assure you the original ABI authors were plenty smart and just faced a different set of problems.
> Our forebears are either not interested in a world without the mounting, crushing debt or just prefer not to tackle that mess right now
The article mentions the organizational/social part of this problem, but then goes on to drop this turd.
I can also assure you that our forebears were neither malicious or lazy; but faced the same problem this proposal does.
I don’t like seeing such disrespect for the folks who laid out the groundwork for us.
- bluGill 2mo agoThey faced much slower computers with very limited memory. They couldn't afford the tricks that today are minimal cost.
- kmacleod 2mo agoI discovered this recently as I tested an old idea I had to allow a dynamic language to use a C++-like vtable instead of an inline cache (like Objective-C or JavaScript does). It turns out modern CPUs predict an inline cache hit/miss result much better than always incurring the cost of the fetch in a vtable lookup.
- p_l 2mo agoInline caches require runtime supports that were ideologically verboten to C++
- Conscat 2mo agoYou can implement it with templates and people do things like this often. In modern C++, it's even pretty easy to make this type of trick support `constexpr`.
- p_l 2mo agoDo it manually and hacky, yes. At that point though, one could claim that they can do it in C as well and implement half of Objective-C
- pjmlp 2mo agoExcept that to keep objc_msgSend performance good enough with Objective-C dispatch semantics, a little bit of pure Assembly code help is required.
- p_l 2mo agowell, I wasn't implying full semantics. Or fast, to be honest. Still could be faster than vtable though...
- pjmlp 2mo agoSure enough. Going back to the technical implementation part, depending on the C++ version, and being able to understand the target at compile time, no need to do it manually and hacky. There is enough support in constexpr, consteval, concepts, and now compile time reflection, to do it automatically, assuming the dispatch target can be resolved at compile time.
- Dylan16807 2mo agoThere's plenty of direct evidence of preferring not to tackle the mess right now. What makes you think that claim is a turd? You're taking the idea of respect too far.