[haiku-commits] Re: haiku: hrev52543 - src/kits/codec headers/os/codec

  • From: Axel Dörfler <axeld@xxxxxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 19 Nov 2018 08:28:07 +0100

Hi Dario,

Am 18/11/2018 um 11:58 schrieb Dario Casalinuovo:

> Why would you remove Perform()?
Originally I just could not reason of why it was there.
[...]
However, it looks like an ugly and obsolete way of achieving binary compatibility.
[...]
It seems something like a plan B in case a we go out of padding space.

Unfortunately, that's not what it is about: C++ is really an archaic language. I found a great post by Ingo which explains it [1] in better words than I could.

To better overcome the problem, the Haiku API should make more use of interfaces (IDL), and smart base-classes. But, well if that makes you sleep better at night, let's revert it :)

With the API we have, we don't have much choices.
If you have a better solution for future APIs, feel free to discuss them :-)

Bye,
   Axel.

[1] https://www.freelists.org/post/haiku-development/Linking-problem-when-removing-reserved-virtual-slots,3

Other related posts: